如下是前端传递的参数,想着深入学习传参和数据类型后,可以直接给后端传递一个复合数据,但是没想到一直接收不到!!!!
以下是后端的代码,首先Test和Test1和Test2它只是类名,不代表参数名,只是个对象的格式,参数需要定义,然后按传递的参数定义了一个复合的Test,想着按照格式后端一定能获取!
但是没想到,后端怎么样都接收不到,一开始以为是类名定义问题,后通过把类型转为Map发现并不是类名问题,因为Map可以接收,后思索是否为类型问题,就反复更改Test1和Test2,皆无果,并且通过Object接收参数进行测试,发现确实是这样的格式,说明问题不在controller,还是在Entity里的数据类型。
经过大量的查阅资料,发现居然是Lombok.Date的大坑!!!!!!!!!!!!!!
驼峰命名法:QuestionId,前端传递QuestionId,后端通过Lombok.Data的获取,它居然找的是questionId,所以一直一直找不到参数!!!!!!!
后将前端直接传的参数为小写,避免驼峰命名法解析的坑,后发现
接收成功!
并且后端无论用大写的驼峰命名,或者用小写的命名法,@Data都会把参数转换为小写,完美解决传参问题,这样参数的传递可以实现复杂数据传递!***(问候语)