@RequestParam,@PathParam,@PathVariable等注解区别

Posted

tags:

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

参考技术A @RequestParam 和 @PathVariable 注解是用于从request中接收请求的,两个都可以接收参数,关键点不同的是 @RequestParam 是从request里面拿取值,而 @PathVariable 是从一个URI模板里面来填充

http://localhost:8080/springmvc/hello/101?param1=10¶m2=20
根据上面的这个URL,你可以用这样的方式来进行获取

@RequestParam 支持下面四种参数

这个注解能够识别URL里面的一个模板,我们看下面的一个URL
http://localhost:8080/springmvc/hello/101?param1=10¶m2=20

这个注解是和spring的pathVariable是一样的,也是基于模板的,但是这个是jboss包下面的一个实现,上面的是spring的一个实现,都要导包

@QueryParam 是 JAX-RS 本来就提供的,和Spring的RequestParam作用一致

responseBody表示服务器返回的时候以一种什么样的方式进行返回, 将内容或对象作为 HTTP 响应正文返回,值有很多,一般设定为json,一般写在方法外

一般是post请求的时候才会使用这个请求,把参数丢在requestbody里面

参考: https://blog.csdn.net/u011410529/article/details/66974974

@PathVariable和@RequestParam的区别

@PathVariable和@RequestParam的区别
  @PathVariable 是从请求的URL路径里面去获取变量
  @RequestParam,是从请求里面获取参数
 
例如, 如下controller:
   @RequestMapping(value = "/test/{pathParam}")
    public String testPara(@PathVariable("pathParam") String pathParam, @RequestParam(value="requestParam") String requestParam) throws Exception {
        System.out.println("pathParam is "+pathParam);
System.out.println("requestParam is "+requestParam); return "ok"; }

以上是关于@RequestParam,@PathParam,@PathVariable等注解区别的主要内容,如果未能解决你的问题,请参考以下文章

@PathVariable和@RequestParam的区别

Spring boot 常见注解

为啥使用 PathVariable 而不是 PathParam?

何时使用 @QueryParam 与 @PathParam

使用 @pathparam 和 @requestmapping 获取 null

RestAssured 获取请求中的 pathParam() 方法出现红色下划线错误以及如何解决此问题