通过@RequestMapping注解中的 { } 占位符来标识URL中的变量部分
在控制器中的处理方法的形参中使用@PathVariable注解去获取@RequestMapping中 { } 中传进来的值,并绑定到处理方法定一的形参上。
//请求路径:http://3333/user/deleteUser @DeleteMapping(value="/user/{id}") public String username(@PathVariable(value="id") Long id) { }
用于将指定的请求参数赋值给方法中的形参
在SpringMVC框架中,可以通过定义@RequestMapping来处理URL请求。和@PathVariable一样,需要在处理URL的控制方法中获取URL中的参数,也就是?key1=value1&key2=value2这样的参数列表。通过注解@RequestParam可以轻松地将URL中的参数绑定到处理函数方法的变量中。
//请求路径:http://127.0.0.1/user/?name=tom @RequestMapping(value="/user") public String getUserBlog(@RequestParam(value="name") String username) { return name; }
@RequestParam和@PathVariable都能够完成类似的功能——因为本质上,它们都是用户的输入,只不过输入的部分不同,一个在URL路径部分,另一个在参数部分。要访问一篇博客文章,这两种URL设计都是可以的:
通过@PathVariable,例如/users/1
通过@RequestParam,例如users?userId=1
@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的)
一般用在前端发送json数据给后端,后端方法参数上加上该注解,封装成实体类对象
@PostMapping("/save") public CommonDto saveUser(@RequestBody User user){ }