1. 程式人生 > >@RequestParam,@PathVariable等註解區別

@RequestParam,@PathVariable等註解區別

例子 json details mvc detail als .... spa ebo

一、@RequestParam和@PathVariable的區別

1、@RequestParam是從uri中request後面的參數串來取得參數的

2、@PathVariable是從uri模板中取得參數的

例子:

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

@RequestParam抓取的是後面的param1和param2


@RequestMapping("/hello")
public String getDetails(
    @RequestParam(value="param1", required=true) String param1,
        @RequestParam(value
="param2", required=false) String param2){ ... }

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

@PathVariable抓取的是模板中的101

@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){ ....... }

二、@ResponseBody @RequestBody

@ResponseBody

responseBody表示服務器返回的時候以一種什麽樣的方式進行返回, 將內容或對象作為 HTTP 響應正文返回,值有很多,一般設定為json

@RequestBody

一般是post請求的時候才會使用這個請求,把參數丟在requestbody裏面

@RequestParam,@PathVariable等註解區別