在spring MVC中,兩者的作用都是將request里的參數的值綁定到contorl里的方法參數里的,區別在于,URL寫法不同。
使用@RequestParam時,URL是這樣的:http://host:port/path?參數名=參數值
使用@PathVariable時,URL是這樣的:http://host:port/path/參數值
例如:
- @RequestMapping(value="/user",method = RequestMethod.GET)
- public @ResponseBody
- User printUser(@RequestParam(value = "id", required = false, defaultValue = "0")
- int id) {
- User user = new User();
- user = userService.getUserById(id);
- return user;
- }
-
- @RequestMapping(value="/user/{id}",method = RequestMethod.GET)
- public @ResponseBody
- User printUser2(@PathVariable int id) {
- User user = new User();
- user = userService.getUserById(id);
- return user;
- }
上面兩個方法,訪問路徑分別如下:


posted on 2018-08-22 11:05
fly 閱讀(490)
評論(0) 編輯 收藏 所屬分類:
J2EE