@RequestParam,@PathVariable等注解区别

Posted television

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了@RequestParam,@PathVariable等注解区别相关的知识,希望对你有一定的参考价值。

一、@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等注解区别的主要内容,如果未能解决你的问题,请参考以下文章

@RequestParam 与 @PathVariable

@RequestBody和@RequestParam区别

@RequestBody和@RequestParam区别

@RequestBody和@RequestParam区别

@RequestParam注解

@RequestParam注解