天天看點

@RequestParam,@PathParam,@PathVariable等注解差別(下)@PathVariable@PathParam@QueryParam@ResponseBody@RequestBody

@PathVariable

這個注解能夠識别URL裡面的一個模闆,我們看下面的一個URL

http://localhost:8080/springmvc/hello/101?param1=10&param2=20

1

上面的一個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裡面