controller层是这样写的,因为之前接收list值的时候也是这样去写的,所以这部分代码应该是对的
这个是我的实体,使用了lombok来写get和set方法。
然后使用postman传一个list参数,
程序中拿到的对象值都是null。
其实这个也怪自己,不懂lombok就随便使用,也慢慢明白了网上为什么那么多人说不推荐使用lombok,因为你都不知道人家的get和set方法是怎么写的,出了问题当然不知道错在那里。
而拿不到参数的原因就出现在这里,set方法不对,导致序列化的时候,值设置不进去。大家可以看我的对象中的属性值没有按照正常的规范去写的,有的属性开头是大写。
对这就是关键所在,lombok生成的内容是这样的
发现this哪里去了?我个人理解是这样的,开头大写的他可能当成静态变量了,直接给赋值了。
这种情况怎么办?
解决办法1:
改回来呗,规范写法,属性开头字母小写。
解决办法2:
如果你真的就想开头大写的,我就任性,就想这么写这么办?只能手动生成一下set方法,然后在set方法上写如下注解,这样就可以设置值了。
@JsonProperty(value = "StrTalker")
经过这次后发现,自己以后要规范写代码,看看lombok吧,不懂就用,出了问题就得难受一天。
如果解决了你的问题。
点个赞吧。