@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来表示处于发布状态的博客文章

相关内容

热门资讯

俄方重新将14名日本人列为战犯 【#俄方重新将14名日本人列为战犯#】据新华社,俄罗斯外交部发言人扎哈罗娃30日表示,俄方持续揭露日...
“伊斯兰国”宣称对尼日尔首都机... 每经AI快讯,极端组织“伊斯兰国”在当地时间1月30日的一份声明中宣称对尼日尔首都机场遭袭事件负责。...
荣昌生物制药(烟台)股份有限公... 证券代码:688331 证券简称:荣昌生物 公告编号:2026-006 港股代码:09995 港股...
美增派军舰战机,伊朗加紧备战,... 【环球时报驻伊朗特约记者 包小龙 环球时报记者 樊巍 丁雅栀 余见】美国会对伊朗实施军事行动吗?具体...
山东高速股份有限公司第六届董事... 证券代码:600350 证券简称:山东高速 公告编号:2026-004山东高速股份有限公司第六届董...