消息转换器
您可以通过重写 configureMessageConverters() 来配置要使用的 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))
}
}