Jackson反序列化的忽略大小写的问题
在最近的工作中遇到一个比较棘手的问题,就是由于公司以前管理的不是很正规,导致我们的代码里面的参数命名不太规范,所以造我们这次集中整治过程中,发现我们的借口调用方的参数层次不齐,不知道他们用的格式是什么,所以导致我们再加注解的时候必须满足忽略大小写,这个地方也许使用fastJson能解决问题,但是问题是,我们必须保证出去的返回值还是他们特定的数据(因为fastJson 返回的话默认为驼峰的),所以我们就 查看JackSon 的代码,发现了有两种的解决方案来忽略大小写的(针对springboot项目)
1.springboot 的application.properties增加配置
spring.jackson.mapper.accept_case_insensitive_properties=true
2.通过代码中的设置策略的方式来修改
@Configuration
public class Config {
@Bean
public ObjectMapper objectMapper() {
ObjectMapper mapper = new ObjectMapper();
mapper.configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true);
return mapper;
}
}
测试有效
参考链接:https://mtyurt.net/post/jackson-case-insensitive-deserialization.html