首页 > 其他分享 >@RequestParam,@PathParam,@PathVariable等注解区别

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

时间:2023-08-14 11:25:07浏览次数:41  
标签:PathParam RequestParam URL String 参数 注解 PathVariable

@RequestParam@PathVariable 注解是用于从request中接收请求的,都可接收参数

  • @RequestParam 是从request里取值
  • @PathVariable 是从一个URI模板里面来填充

@RequestParam 示例

URL如下:

http://localhost:8080/springmvc/hello/101?param1=java&param2=edge

获取代码:

@RequestParam 支持参数

  • defaultValue 如果本次请求没有携带这个参数,或者参数为空,那么就会启用默认值
  • name 绑定本次参数的名称,要跟URL上面的一样
  • required 这个参数是否必须
  • value 跟name一样的作用,是name属性的一个别名

@PathVariable

这个注解能够识别URL里面的一个模板,我们看下面的一个URL

http://localhost:8080/springmvc/hello/101?param1=10¶m2=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里面

标签:PathParam,RequestParam,URL,String,参数,注解,PathVariable
From: https://www.cnblogs.com/jiaodaoniujava/p/17628112.html

相关文章

  • 常用注解之@PathVariable与@RequestParam详解
    @PathVariable和@RequestParam首先说一下Request了解一下请求参数是什么在访问各种各样网站时,经常会发现网站的URL的最后一部分形如:?xxxx=yyyy&zzzz=wwww。这就是HTTP协议中的Request参数,它有什么用呢?先来看一个例子:在知乎中搜索web浏览器跳转到新页面后,URL变为https://www.zhih......
  • @Param、@PathVariable 和 @RequestParam的使用场景和区别
    @Param、@PathVariable和@RequestParam的使用场景和区别@Param注解:使用框架:MyBatis(持久层框架),一般只在xxxmapper.java上使用,当传输的数据超过一个时,需要使用它来取别名,否则数据库无法区分用途:指定方法参数与SQL查询参数的对应关系。场景:在MyBatis中,@Param注解用......
  • @PathVariable注解的作用
    根据Spring官方文档的描述,注解指示的方法参数应该绑定一个URI模板变量,如果方法参数是Map<String,String>类型,则将路径变量名和值放入map中(只能映射一个参数,没什么用)。(即将URL中的占位符映射到对应的参数上)@PathVariable不指定变量名默认映射到与占位符对应的参数上,若没有对应的......
  • @RequestParam注解参数
    做业务的时候经常忘记@RequestParam注解参数,记录一下首先,我们要清楚@RequestParam是干什么的@RequestParam:将请求参数绑定到你控制器的方法参数上,路径上有个参数+?@RequestParam注解参数:语法:@RequestParam(value=”参数名”,required=”true/false”,defaultValue=””)......
  • RequestParam与RequestBody
     场景:post请求传参:RequestParam可以单个接收值,而RequestBody可以接收一个对象使用RequestParam来接收单个值,但是会保错,说传入的参数不符合MissingServletRequestParameterException:Requiredrequestparameter'username'formethodparametertypeStringisnotpresent......
  • MissingServletRequestParameterException: Required request parameter 'xxx' for me
    关于简单参数传递的一个异常先前情提要一下,在练习一个带分页的员工查询请求功能,接口文档描述如下其中页码跟记录数是必须参数,然后有个按姓名模糊查询,这个参数是可有可无的然后我最初写的代码长这样用@RequestParam注解来获取这个url中携带的简单参数然后测试页面的时候......
  • @RequestParam和@PathVariable的用法与区别
    **@PathVariable**格式@RequestMapping(value="/user/{username}")publicStringuserProfile(@PathVariable(value="username")Stringusername){ return"user"+username;}在上面的例子中,当@Controller处理HTTP请求时,userProfile的参数......
  • 【spring学习笔记】(二)Spring MVC注解配置 参数转换注解@RequestMapping@RequestParam
    @TOC介绍在SpringMVC项目中,<\context:component-scan>配置标签还会开启@Request-Mapping、@GetMapping等映射注解功能(也就是会注册RequestMappingHandler-Mapping和RequestMappingHandlerAdapter等请求映射和处理等组件),但是<context:component-scan>不支持数据转换或验证等注解功......
  • 【Spring注解】@RequestBody和@RequestParam的区别
    SpringMVC中经常会用到@RequestBody和@RequestParam两个注解来获取请求的参数,那么这两个参数到底有什么区别呢?首先我们要知道GET请求与POST请求的区别GET请求......
  • @PathVariable相关注意点
    1、使用@PathVariable注解时,说明url路径采用restful风格,即http://localhost:8080/zgbj/1/22、@PathVariable注解也可以接受多个参数,例如publicModelAndViewconfigAntenn......