SpringBoot使用@RequestBody注解,无法映射首字母大写属性
问题
SpringBoot使用@RequestBody注解,无法映射首字母大写属性
如下图定义的实体类属性,不管使用的 lombok.Data 还是自己 生成 get/set 方法都无法映射到值
原因
Spring的@RequestBody注解,进行参数映射时使用的是set方法,若有两个参数,以java命名规范命名应为name与sex,但若命名为Name、Sex,虽然生成的set方法依然是setName()、setSex(),但Spring框架确没办法区分属性是name还是Name,按照命名规则来会给name赋值,产生错误。
(来源:https://www.jianshu.com/p/8f320a398031)
解决办法
属性加上@JsonProperty("XXX")注解来指定映射的参数名
如:
