什么时候应该使用 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 的哪一部分。
我了解两者的主要区别,
@RequestParam
用于查询参数,可以多几个属性,
而 @PathVariable
有一个属性,用于路径参数。
但我找不到任何关于何时优先使用查询参数或路径参数的信息。
我假设在某些情况下我想要一个默认值或 @RequestParam
具有的某些其他属性,使用它可能更好。但除此之外还有什么大的区别吗?什么时候 @PathVariable
是首选?
这取决于您的设计选择,即您是否希望在路径或查询部分中包含信息。使用 REST,您通常会将资源标识符放入路径中,并将其他参数放入查询中,例如像这样(编造的):
/questions/67156664/comments?count=5
这意味着:
- 对 ID 为 67156664(路径变量)的问题的评论
- return 最多 5 条评论(查询参数)
再次注意,这通常取决于您的要求,即您要将参数放入 url 的哪一部分。