@RequestParam和@PathVariable的用法与区别
创始人
2024-05-28 19:27:47

@PathVariable

  • @PathVariable 映射 URL 绑定的占位符
  • 带占位符的 URL 是 Spring3.0 新增的功能,该功能在SpringMVC 向 REST 目标挺进发展过程中具有里程碑的意义
  • 通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中:URL 中的 {xxx} 占位符可以通过@PathVariable(“xxx“) 绑定到操作方法的入参中。
    @GetMapping("/user/{id}")public String test(@PathVariable String id){return "用户的id="+id;}

在这里插入图片描述

@RequestParam

在访问各种各样的网站时,经常会发现网站的URL的最后一部分形如:?xx=yy&zz=ww。这就是HTTP协议中的Request参数

    @GetMapping("/user1")public String delVideoList(@RequestParam("list") List list){return "集合"+list;}

在这里插入图片描述

@RequestParam和@PathVariable区别

@RequestParam和@PathVariable都能够完成类似的功能——因为本质上,它们都是用户的输入,只不过输入的部分不同,一个在URL路径部分,另一个在参数部分。要访问一篇博客文章,这两种URL设计都是可以的:

  • 通过@PathVariable,例如/blogs/1
  • 通过@RequestParam,例如blogs?blogId=1
    那么究竟应该选择哪一种呢?建议:
    1、当URL指向的是某一具体业务资源(或资源列表),例如博客,用户时,使用@PathVariable
    2、当URL需要对资源或者资源列表进行过滤,筛选时,用@RequestParam
    例如我们会这样设计URL:
  • /blogs/{blogId}
  • /blogs?state=publish而不是/blogs/state/publish来表示处于发布状态的博客文章

相关内容

热门资讯

从逆回购调整看央行流动性管理思... 转自:证券日报    ■刘琪    2026年6月3日、4日,中国人民银行连续两日在公开市场7天期逆...
培生发布IT认证雇主报告 近期... 经济观察网 培生近期发布IT认证价值雇主报告,披露相关行业技能缺口数据,同时股价近期呈上涨态势,还上...
硬派越野SUV!传祺越7官图发... (来源:车联新生态)6月7日,广汽传祺品牌对外发布全新硬派新能源SUV——越7官图。据了解,越7是广...
超50部新片集结暑期档   2026年电影暑期档如约而至。截至目前,已有超过50部影片定档这个夏天,涵盖历史、喜剧、动画、科...
巷陌有暖 步履有声 编者按 社会工作者,是一群什么样的人?不同的人心中有不同的模样:二师三○团双丰社区祥瑞小区81...