请求参数之@PathVariable与@PathParam
  zPeYAMMOoaDU 2023年12月24日 26 0

初学springmvc容易分不清楚这两个参数之间的用法差别,如果较长一段时间不接触,可能又会搞忘,贴个笔记,方便以后回顾以及初学者参考。如有错误,还请指正。

@PathVariable:

@PathVariable适用于RESTFULL风格的请求。

例:

    //请求样式为restful     http://localhost:8080/user/张三
 
    @GetMapping("/{id}")
    public String getUserByid(@PathVariable(name = "id",required = true) String id){
 
        return id;
 
   }

@GetMapping注解中的引号中的名字一定要与@PathVariable(name = "id",required = true)中的name相同,后面required的作用是:当为true的话, 地址中如果没有这个参数会报错;为false时则会忽略,默认值为true,即当确定顾哦来的参数一定有的时候,就不用显示定义,代码可改为:

    @GetMapping("/{id}")
    public String getUserByid(@PathVariable(name = "id") String id){
        return id;
    }

如果请求参数只有一个,代码可进一步缩减为:

    @GetMapping("/{id}")
    public String getUserByid(@PathVariable String id){ //@PathVariable 不用设置任何参数
        return id;
    }

@PathParam

常用于传统请求方式,url例子为:

http://localhost:8080/user/getUserByidAndName?id=a&&name=张三

代码举例:

    @GetMapping("/getUserByidAndName")
    public String getUserByidAndName(@PathParam("id") String id,@PathParam("name") String name){
        return String.format("id=%s,name=%s", id,name);
    }
@PathParam中的参数名要和url中一致,否则拿到的值为null。


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月24日 0

暂无评论

推荐阅读
zPeYAMMOoaDU