什么时候应该使用 PathVariable 什么时候应该使用 RequestParam

when should I use PathVariable and when should I use RequestParam

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

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

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

/questions/67156664/comments?count=5

这意味着:

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

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