通常,如果要获取json响应,则需要一个jackson-databind模块:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${json-jackson-version}</version>
</dependency>
然后必须MappingJackson2HttpMessageConverter
在配置中定义一个:
@Configuration
@EnableWebMvc
public class WebAppMainConfiguration extends WebMvcConfigurerAdapter {
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
converters.add(new MappingJackson2HttpMessageConverter());
[..]
super.configureMessageConverters(converters);
}
[...]
}
在您的情况下,您可以实现自己的AbstractGenericHttpMessageConverter,以便可以根据媒体类型在不同的具体转换器之间切换此转换器。
检查方法 AbstractGenericHttpMessageConverter#writeInternal(..)