@RequestParam 和 @PathVariable 註解是用於從request中接收請求的,兩個都可以接收參數,關鍵點不同的是@RequestParam 是從request裡面拿取值,而 @PathVariable 是從一個URI模板裡面來填充 @RequestParam看下麵一段代碼: h ...
@RequestParam 和 @PathVariable 註解是用於從request中接收請求的,兩個都可以接收參數,關鍵點不同的是@RequestParam 是從request裡面拿取值,而 @PathVariable 是從一個URI模板裡面來填充
@RequestParam
看下麵一段代碼:
http://localhost:8080/springmvc/hello/101?param1=10¶m2=20
根據上面的這個URL,你可以用這樣的方式來進行獲取
public String getDetails( @RequestParam(value="param1", required=true) String param1, @RequestParam(value="param2", required=false) String param2){ ... }
@RequestParam 支持下麵四種參數
defaultValue 如果本次請求沒有攜帶這個參數,或者參數為空,那麼就會啟用預設值
name 綁定本次參數的名稱,要跟URL上面的一樣
required 這個參數是不是必須的
value 跟name一樣的作用,是name屬性的一個別名
@PathVariable
這個註解能夠識別URL裡面的一個模板,我們看下麵的一個URL
http://localhost:8080/springmvc/hello/101?param1=10¶m2=20
上面的一個url你可以這樣寫:
@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){ ....... }
區別很明顯了
@PathParam
這個註解是和spring的pathVariable是一樣的,也是基於模板的,但是這個是jboss包下麵的一個實現,上面的是spring的一個實現,都要導包
@QueryParam
@QueryParam 是 JAX-RS 本來就提供的,和Spring的RequestParam作用一致
@ResponseBody
responseBody表示伺服器返回的時候以一種什麼樣的方式進行返回, 將內容或對象作為 HTTP 響應正文返回,值有很多,一般設定為json
@RequestBody
一般是post請求的時候才會使用這個請求,把參數丟在requestbody裡面
————————————————
原文鏈接:https://blog.csdn.net/u011410529/article/details/66974974