spring - 如何在 SpringMvc 中为指定的控制器配置 HttpMessageConverter
问题描述
众所周知,我们可以通过 WebMvcConfigurer 中的 configureMessageConverters 方法来配置全局 HttpMessageConverter。请参阅https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#mvc-config-message-converters 但我想为指定的控制器配置一个 HttpMessageConverter 以覆盖全局配置实现不同于全局的功能。我应该如何配置它?有朋友可以指点一下吗?
解决方案
您可以将以下代码放入任何配置类中。你必须在你需要的那个类中自动装配这个特定的对象映射器。即使你可以创建多个对象映射器来服务于不同的目的。
@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;
}
推荐阅读
- ios - 我在从 google api 查找路由时遇到问题,它显示,此 IP、站点或移动应用程序无权使用此 API 密钥
- stripe-payments - Stripe 增加了不可发货产品的运费
- java - 我有一个有头有尾的队列。如何使 tail 不是队列中的下一个节点进入?
- c# - Microsoft Bot Framework - 如何从团队频道获取用户数据
- matlab - 计算大量图片上气泡的平均大小
- sql - 指定非布尔类型的表达式... sql server
- google-analytics - 我的 GA 目标事件设置未使用 OnClick 按钮触发
- c# - C# DataGridView DefaultCellStyle.Format 不适用于具有自动生成列的 dd/MM/yyyy
- python - 将用户输入从子窗口传递到父窗口 python tkinter
- css - 使用 css 创建图标而不是使用图像