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

相关内容

热门资讯

“现实中的龙餐馆”:他曾在伊拉... 编者的话:随着电影《欢迎来龙餐馆》的热映,影片主角“徐福”在中东某国经营中餐馆的传奇经历触动了许多观...
希腊萨拉米斯岛森林火灾已致2死... 新华财经雅典8月17日电(记者陈刚)希腊媒体16日援引该国消防部门消息报道,位于希腊首都雅典以西约2...
鸿路钢构伦交所ESG评级较上年... 8月17日消息,近期伦交所发布最新ESG评级结果,鸿路钢构获得C-级,相较于上一年的C级,评级下降。...
广汽集团伦交所ESG评级维持B... 8月17日消息,近期伦交所发布最新ESG评级结果,广汽集团获得B+级,相较于上一年的B+级,评级维持...
《大荒歌》再现一代垦荒人的命运...   发布会现场。本报记者 封娇摄  ■实习生 宋依轲   本报特派记者 封娇上海报道  8月15日,...