首页 > 解决方案 > 什么时候应该使用 PathVariable,什么时候应该使用 RequestParam

问题描述

我了解两者之间的主要区别, @RequestParam用于查询参数,并且可以有更多的属性,而@PathVariable只有一个属性并且用于路径参数。

但我找不到任何有关何时偏好使用查询参数或路径参数的信息。我假设在某些情况下我想要一个默认值或其他一些@RequestParam具有的属性,使用它可能会更好。但除此之外还有什么大的不同吗?任何时候@PathVariable都是首选?

标签: javaspringmodel-view-controllercontroller

解决方案


这取决于您的设计选择,即您是否希望在路径或查询部分中包含信息。使用 REST,您通常会将资源标识符放入路径中,并将附加参数放入查询中,例如像这样(组成):

/questions/67156664/comments?count=5

这意味着:

  • 对 ID 为 67156664(路径变量)的问题的评论
  • 返回最多 5 条评论(查询参数)

再次注意,这通常取决于您的要求,即您要将参数放入 url 的哪一部分。


推荐阅读