如何在SpringMvc中为指定的控制器配置HttpMessageConverter
众所周知,我们可以通过WebMVCConfiguer中的configureMessageConverters方法配置全局HttpMessageConverter。 看见 但是我想为指定的控制器配置一个HttpMessageConverter来覆盖全局配置,以实现与全局配置不同的功能。如何在SpringMvc中为指定的控制器配置HttpMessageConverter,spring,spring-boot,spring-mvc,Spring,Spring Boot,Spring Mvc,众所周知,我们可以通过WebMVCConfiguer中的configureMessageConverters方法配置全局HttpMessageConverter。 看见 但是我想为指定的控制器配置一个HttpMessageConverter来覆盖全局配置,以实现与全局配置不同的功能。 我应该如何配置它?有朋友能给我指点吗 您可以将以下代码放入任何配置类中。您必须在需要的类中自动连接这个特定的objectmapper。甚至您可以创建多个objectmapper来满足不同的目的 @Bean
我应该如何配置它?有朋友能给我指点吗 您可以将以下代码放入任何配置类中。您必须在需要的类中自动连接这个特定的objectmapper。甚至您可以创建多个objectmapper来满足不同的目的
@Bean
@Qualifier("customForController")
public ObjectMapper getObjectMapper() {
ObjectMapper mapper=new ObjectMapper();
return mapper;
}
@Bean
@Qualifier("customMessageConverter")
public MappingJackson2HttpMessageConverter converter() {
MappingJackson2HttpMessageConverter httConverter = new MappingJackson2HttpMessageConverter();
httConverter.setObjectMapper(getObjectMapper());
//others configuration goes here
return httConverter;
}
您可以将以下代码放入任何配置类中。您必须在需要的类中自动连接这个特定的objectmapper。甚至您可以创建多个objectmapper来满足不同的目的
@Bean
@Qualifier("customForController")
public ObjectMapper getObjectMapper() {
ObjectMapper mapper=new ObjectMapper();
return mapper;
}
@Bean
@Qualifier("customMessageConverter")
public MappingJackson2HttpMessageConverter converter() {
MappingJackson2HttpMessageConverter httConverter = new MappingJackson2HttpMessageConverter();
httConverter.setObjectMapper(getObjectMapper());
//others configuration goes here
return httConverter;
}
对不起,也许我没有清楚地表达我的意思。我想要一种透明的转换方式,而不是显式地使用它。像WebMVCConfiguer中名为addFormatters的方法一样,可以全局配置格式化程序,但我也可以使用@InitBinder方法为指定的控制器配置格式化程序。对不起,可能我没有清楚地表达我的意思。我想要一种透明转换的方法,而不是显式使用它。像WebMVCConfiguer的addFormatters方法一样,可以全局配置格式化程序,但我也可以使用@InitBinder方法为指定的控制器配置格式化程序。这是否回答了您的问题?这回答了你的问题吗?