@RequestParam | @PathVariable | @RequestBody | ||
区别详解 | 获取传送过来的参数,即?后边的参数 | 获取链接路径上的变量 | 一般主要是用来处理content-type:"application/json charset=utf-8" 或者content-type:"application/xml charset=utf-8" | |
请求地址 | http://localhost:8080/user?id=2 | http://localhost:8080/user/2 | http://localhost:8080/user?id=2&name=aaa | |
请求参数 | @RequestParam String id | @PathVariable String id | @RequestBody String id,@RequestBody String name |
注意:
@PathVariable
如果有多个变量,如:http://localhost:8080/user/2/a/www
那么在controller中需要指定值是什么。如下:
@RequesrMapping(method=RequestMethod.GET,value="/user/{id}/{name}/{userName}")
接参如下:
@PathVariable String id,@PathVariable String name ,@PathVariable String userName
@RequestBody
如果有实体类User,包含id,name,userName字段,在方法中直接写@RequestBody User user即可。