第一种:RequestBody注解
@PostMapping("/requestBodyUser")
public void getUserget(@RequestBody User user){
System.out.println(user.getName());
System.out.println(user.getPassword());
}
可以通过@RequestBody来获取前端发送过来的json数据,并且只能有一个。
前后端案例
//RequestBody传值
//前端
return request({
url: '/system/user/resetPwd',
method: 'put',
data: data
})
//后端:
public AjaxResult resetPwd(@RequestBody SysUser user)
第二种:RequestParam注解
@PostMapping("/requestParamUser")
public void getUserget1(@RequestParam("name") String name,@RequestParam("password") String password){
System.out.println(name);
System.out.println(password);
}
使用RequestParam可以有多个,但是都是使用在key value键值对中。
第三种:形参保持一致
@PostMapping("/noParamUser")
public void getUserget2(String name){
System.out.println(name);
}
后端方法中的形参和前端传入的参数保持一致。
前后端案例:
//url拼接,前后端参数一致
//前端:
export function getModel(data) {
return request({
url: '/rest/model/deploy?modelId='+data,
method: 'post'
})
}
//后端:
public AjaxResult deploy(String modelId)
第四种:url传值
//url传值
//前端:
export function getAuthRole(userId) {
return request({
url: '/system/user/authRole/' + userId,
method: 'get'
})
}
//后端:
public AjaxResult authRole(@PathVariable("userId") Long userId)