前端向后端传参,有时候用一个实体来接收参数并不满足我们的业务逻辑,我们可能会用一个集合来接收参数。
用集合接收参数分为两种:第一种是直接用一个集合类型来接收,第二种是在一个实体类中包含集合类型的参数
这里我会分别将这两种情况用代码实现下,案例使用springboot框架。
第一种:后端直接用集合类型来接收参数
前端代码:使用ajax发送请求
var user = new Object(); //是后端接收list里的实体
var list = new Array();
list.push(user);
$.post({
url:'http://localhost:8080/test/insert'
,data:JSON.stringify(list) //注意需要json化
,contentType: "application/json; charset=utf-8"
,success:function (res) {
}
})
后端代码:
@PostMapping(value = "test/insert")
public ResponseReturn insert(@RequestBody List<User> idList){ //必须加requestbody注解,不然报错
return userService.save(idList);
}
第二种:后端使用实体接收参数,实体中包含集合类型的属性
前端代码:
var data = {
"username":"姓名",
"password":"密码",
"idList":idList
}
$.post({
url:'http://localhost:8080/test/insert'
,data:JSON.stringify(data)
,contentType: "application/json; charset=utf-8"
,success:function (res) {
}
})
后端代码:
@PostMapping(value = "test/insert")
public ResponseReturn<User> insert(@RequestBody User user){
return userService.save(user);
}