前后端提交数据
前端layui,使用axios提交数据,后端controller接收数据
方式一
前端是表单
data:{
"userName":data.user_name
,"password":data.password
,"type":data.type
}‘
如果使用data:data.field
也可以。
后端定义了一个类User
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("tb_user")
public class User implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
private String userName;
private String password;
private String name;
private String phone;
/**
* 0管理员/1宿管员/2学生
*/
private Integer type;
private String remark;
}
控制器
@PostMapping("/login")
public Result login(@RequestBody User input_user){
System.out.println(input_user);
...
后端输出结果
User(id=null, userName=stu, password=1, name=null, phone=null, type=0, remark=null)
方式二
前端
data:data.field
控制器
@PostMapping("editPassword")
public Result editPassword(@RequestBody Map map){
for(Object key:map.keySet()){
System.out.println(key);
}
for(Object value:map.values()){
System.out.println(value);
}
后端输出结果
old_password
new_password
again_password
123456
123
123
方式三
前端
url:'/user/deleteOne/'+data.id
后端控制器
@PostMapping("/deleteOne/{id}")
public Result deleteOne(@PathVariable(value="id") Integer delete_id){
System.out.println(delete_id);
后端输出
16
方式四
主要用在复选框传递多个值的处理上
前端
let userIds = data.map(item=>item.id) //data是table的列表
userIdsStr = userIds.join(",")
axios.post("user/deletePart/"+userIdsStr)
后端控制器
@PostMapping("/deletePart/{userIdsStr}")
public Result deletePart(@PathVariable("userIdsStr")List<String> ids){
ids.forEach(System.out::println);
后端输出
14
21