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")注解来指定映射的参数名
如:

 

 

posted @ 2022-10-24 15:07  假装空白  阅读(712)  评论(0)    收藏  举报