@RequestParam使用
1、使用 @RequestParam 注解将请求参数绑定至方法参数
前端请求地址:http://localhost:9191/getUser?userName=小明
后端:
@PostMapping("getUser")
public String testMethod(@RequestParam String userName)
2、当前端传入参数和后端接收名字不一致的话,需要在@RequestParam后面指定参数名字,即:
http://localhost:9191/getUser?userName=小明
@PostMapping("getUser")
public String testMethod(@RequestParam("userName") String name)
3、当方法参数的类型为基本类型,@RequestParam可省略不写。
@RequestBody使用
1、GET方式无请求体,所以使用@RequestBody接收数据时,前端不能使用GET方式提交数据,而是用POST方式进行提交。
2、@requestBody可以将请求体中的JSON字符串绑定到相应的bean上,也可以将其分别绑定到对应的字符串上。
3、@RequestBody与@RequestParam() 可以同时使用,但**@RequestBody只能有一个,而@RequestParam()可以有多个**,@RequestBody 接收的是请求体里面的数据;而@RequestParam接收的是key-value里面的参数。
@PathVariable使用
1、它功能仅仅只是获取占位符中的值而已
2、若方法参数名称和需要绑定的url中变量名称一致时,可以简写:
@RequestMapping("/getUser/{name}")
public User getUser(@PathVariable String name){
return userService.selectUser(name);
}
3、若方法参数名称和需要绑定的url中变量名称不一致时,写成:
@RequestMapping("/getUserById/{name}")
public User getUser(@PathVariable("name") String userName){
return userService.selectUser(userName);
}