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

相关内容

热门资讯

南钢股份申请煤气监控系统相关专... 7月22日消息,国家知识产权局信息显示,南京钢铁股份有限公司申请一项名为“一种煤气区域智能报警可视化...
南钢股份申请带钢板型控制方法相... 7月22日消息,国家知识产权局信息显示,南京钢铁股份有限公司申请一项名为“一种超高强带钢的板型控制方...
山东钢铁取得联轴器找正支架相关... 7月22日消息,国家知识产权局信息显示,山东钢铁股份有限公司申请一项名为“一种联轴器找正定位旋转支架...
调研速递|东山精密接待易方达等... 苏州东山精密制造股份有限公司(以下简称“东山精密”)于2026年7月21日下午通过线上会议形式接待了...
本钢板材取得高强钢相关专利,调... 7月22日消息,国家知识产权局信息显示,本钢板材股份有限公司申请一项名为“一种汽车用420MPa级镀...