@RequestParam,@PathVariable注解区别

文章目录[隐藏]

  • @RequestParam 
  • @PathVariable

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

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

    对比

    1.用法上的不同:
    PathVariable只能用于接收url路径上的参数,而RequestParam只能用于接收请求带的params
    2.内部参数不同:
    PathVariable有value,name,required这三个参数,而RequestParam也有这三个参数,并且比PathVariable多一个参数defaultValue(该参数用于当请求体中不包含对应的参数变量时,参数变量使用defaultValue指定的默认值)
    3.PathVariable一般用于get和delete请求,RequestParam一般用于post请求。

    @RequestParam 

    URL如下:

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

    @RequestParam,@PathVariable注解区别

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

    @PathVariable

    URL中取得参数赋值给函数

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

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

    上面的一个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){
    .......
    }

     

    from: https://developer.aliyun.com/article/840517?spm=a2c6h.14164896.0.0.117f51138xXYXP

    原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/275894.html

    (0)
    上一篇 2022年7月21日 20:32
    下一篇 2022年7月21日 20:33

    相关推荐

    发表回复

    登录后才能评论