0
我已经使用Spring Java配置定义了两个这样的转换器。除非我在HTTP头中指定了'Accept = applicaiton/json',否则我总是得到一个XML响应。有没有办法将默认转换器设置为JSON而不是XML转换器。Spring Java配置消息转换器优先级
@EnableWebMvc
@Configuration
@ComponentScan(basePackages = {"foo.bar"})
public class WebMvcConfig extends WebMvcConfigurerAdapter {
...
@Bean
public MappingJackson2HttpMessageConverter jsonConverter() {
MappingJackson2HttpMessageConverter jsonConverter = new MappingJackson2HttpMessageConverter();
ObjectMapper objectMapper = new ObjectMapper();
jsonConverter.setObjectMapper(objectMapper);
return jsonConverter;
}
@Bean
public MappingJackson2XmlHttpMessageConverter xmlConverter() {
MappingJackson2XmlHttpMessageConverter xmlConverter = new MappingJackson2XmlHttpMessageConverter();
return xmlConverter;
}
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
converters.add(jsonConverter());
converters.add(xmlConverter());
super.configureMessageConverters(converters);
}
这是我的控制器。
@RequestMapping(value = "/product")
public
@ResponseBody
BSONObject getProducts(@RequestParam String ids,
@RequestParam(required = false) String types) {
List<BSONObject> products = commonDataService.getData(ids, types);
return products;
}