业务场景:
淘宝的退款相关接口中 有oid tid这样的字段,
然后在公司自建系统中发现 这些字段之前的同事已经定义成, oId, tId (中间的i变成大写)
为了字段尽量统一, 就沿用了这种风格
问题就来了, post请求在接收json的时候, 入参对象中 oid tid字段始终是null
原因:
由于springBoot中默认是使用jackson来做json的解析
参考 jackson 转 json时,字段名大小写问题 - HB1 - 博客园
字段名前2个字符如果是大写的, 都会有问题
比如:
"Name":"张三"
"TName": "xxxxx"
"OUser": 12345
解决方式:
在pojo类上添加注解
@JsonAutoDetect(fieldVisibility= JsonAutoDetect.Visibility.ANY,getterVisibility= JsonAutoDetect.Visibility.NONE)
或者 添加HttpMessageConverters, 使用fastjson, gson等序列化框架来替换jackson