问题场景
- 定义一个bean A,使用 lombok 中的 @Data 注解,并且其中类似属性有fCode (单词前加个小写字母)
- 定义一个接口使用@RequestBody 以及使用A 进行参数接收
- 在传参时,如果传 fCode 是无法接收到参数的
解决办法
- 去掉 @Data 注解,手写(idea生成)getter ,setter 的方法
分析
- @Data 会生成 setFCode()方法,导致在实际 @RequestBody 注解接收参数时找的setter 方法去进行属性注入,结果找的是 setfCode() 没有匹配上对应的,导致接收参数失败的问题
- 重写setter 方法及解决问题
- 尽量不要定义类似属性有fCode (单词前加个小写字母),免得造成这种问题