轉自:http://blog.csdn.net/u011410529/article/details/66974974html
@RequestParam
和 @PathVariable
註解是用於從request中接收請求的,兩個均可以接收參數,關鍵點不一樣的是@RequestParam
是從request裏面拿取值,而 @PathVariable
是從一個URI模板裏面來填充java
看下面一段代碼:spring
http://localhost:8080/springmvc/hello/101?param1=10¶m2=20
json
根據上面的這個URL,你能夠用這樣的方式來進行獲取服務器
public String getDetails( @RequestParam(value="param1", required=true) String param1, @RequestParam(value="param2", required=false) String param2){ ... }
@RequestParam
支持下面四種參數mvc
這個註解可以識別URL裏面的一個模板,咱們看下面的一個URLapp
http://localhost:8080/springmvc/hello/101?param1=10¶m2=20
上面的一個url你能夠這樣寫:post
@RequestMapping("/hello/{id}") public String getDetails(@PathVariable(value="id") String id, @RequestParam(value="param1", required=true) String param1, @RequestParam(value="param2", required=false) String param2){ ....... }
區別很明顯了ui
這個註解是和spring的pathVariable
是同樣的,也是基於模板的,可是這個是jboss包下面的一個實現,上面的是spring的一個實現,都要導包url
@QueryParam
是 JAX-RS 原本就提供的,和Spring的RequestParam做用一致
responseBody表示服務器返回的時候以一種什麼樣的方式進行返回, 將內容或對象做爲 HTTP 響應正文返回,值有不少,通常設定爲json
通常是post請求的時候纔會使用這個請求,把參數丟在requestbody裏面