spring mvc中注解@RequestParam与注解@PathVariable的区别

@RequestParam将前后端参数根据名称一一映射了起来

@RequestMapping("/user")
@ResponseBody
public User get(@RequestParam String id) {
}

这个就是访问上面代码URL的构成

http://localhost:8080/user?id=1

在一些网站中提出了REST风格,即前端通过URL传递参数给后端,@PathVariable则正好是这个作用,通过名称来获取参数

@RequestMapping("/user/{id}")
@ResponseBody
public User get(@PathVariable String id) {
}

这个就是访问上面代码URL的构成

http://localhost:8080/user/1