@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的区别
为啥使用 PathVariable 而不是 PathParam?