一、问题描述
使用@RequestBody注解,进行json反序列化映射的时候,若实体类属性为首字母大写,将无法映射成功。
二、原因分析
Spring的@RequestBody注解,进行参数映射时使用的是set方法,若有两个参数,以java命名规范命名应为name与sex,但若命名为Name、Sex,虽然生成的set方法依然是setName()、setSex(),但Spring框架缺没办法区分属性是name还是Name,按照命名规则来会给name赋值,产生错误。
三、解决办法
属性加上@JsonProperty("XXX")注解来指定映射的参数名