在springMVC中使用swagger来生成在线API。 使用注解的方式配置swagger API,但是使用中发现自定义的 jackson 配置没有生效(自定义了myObjectMapper实现默认的objectMapper),估计是因为swagger使用的是默认的objectMapper。
在swaggerConfig.java中重写方法,设置messageConverter。
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
List<MediaType> jsonSupportedMediaTypes = new ArrayList<MediaType>();
jsonSupportedMediaTypes.add(MediaType.APPLICATION_JSON);
List<MediaType> textSupportedMediaTypes = new ArrayList<MediaType>();
textSupportedMediaTypes.add(MediaType.TEXT_PLAIN);
textSupportedMediaTypes.add(MediaType.TEXT_HTML);
MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
converter.setObjectMapper(new JhdObjectMapper());
converter.setSupportedMediaTypes(jsonSupportedMediaTypes);
converters.add(converter);
StringHttpMessageConverter strConverter = new StringHttpMessageConverter();
converter.setSupportedMediaTypes(textSupportedMediaTypes);
converters.add(converter);
super.configureMessageConverters(converters);
}