后端接收前端数据为Null
前言
使用分页插件时,参数传递错误
初始代码
- 前端
data() {
return {
user: [],
search:{
username:"",
name:"",
currentPage:1,
currentSize:5
},
}
},
this.$request.get("/user/page",this.search)
- 后端
@GetMapping("/page")
public Result page (@RequestBody Search search)
传递时出现问题
查了一下,400是参数问题,
第一次试错
将后端代码改为
发现还是不行,接收到的值还是null,且报错提示int值初始化不能赋null值,只能0,还推荐我使用Integer,这显然对我们解决这个问题没有一点屁用
第二次试错
浏览许久发现GET请求的目的主要是获取资源,请求不能包含请求体(请求对象),参数以键值对的形式跟在url后面,"?"将url和参数分隔,多个参数使用&分隔 举例如下
- /api/users?id=123&name=John。
所以将请求方式和controller类型改成了Post后成功接收
中途的烟雾弹
错以为能传params对象,结果只是 &a=1&b=2&c=3的另外一种写法罢了