メッセージコンバーター
configureMessageConverters() (Javadoc) をオーバーライドすることで、使用する HttpMessageConverter インスタンスを構成できます。
次の例では、デフォルトのマッパーの代わりにカスタマイズされたマッパーを使用して、カスタム Jackson JSON および XML コンバーターを構成します。
Java
Kotlin
@Configuration
public class WebConfiguration implements WebMvcConfigurer {
@Override
public void configureMessageConverters(HttpMessageConverters.ServerBuilder builder) {
JsonMapper jsonMapper = JsonMapper.builder()
.findAndAddModules()
.enable(SerializationFeature.INDENT_OUTPUT)
.defaultDateFormat(new SimpleDateFormat("yyyy-MM-dd"))
.build();
XmlMapper xmlMapper = XmlMapper.builder()
.findAndAddModules()
.defaultUseWrapper(false)
.build();
builder.withJsonConverter(new JacksonJsonHttpMessageConverter(jsonMapper))
.withXmlConverter(new JacksonXmlHttpMessageConverter(xmlMapper));
}
}@Configuration
class WebConfiguration : WebMvcConfigurer {
override fun configureMessageConverters(builder: HttpMessageConverters.ServerBuilder) {
val jsonMapper = JsonMapper.builder()
.findAndAddModules()
.enable(SerializationFeature.INDENT_OUTPUT)
.defaultDateFormat(SimpleDateFormat("yyyy-MM-dd"))
.build()
val xmlMapper = XmlMapper.builder()
.findAndAddModules()
.defaultUseWrapper(false)
.build()
builder.withJsonConverter(JacksonJsonHttpMessageConverter(jsonMapper))
.withXmlConverter(JacksonXmlHttpMessageConverter(xmlMapper))
}
}