我们知道可以使用语法;param=value
在URI的路径组件中传递参数。我想知道这有什么好处,考虑到参数也可以在查询组件中传递。
Wikipedia article甚至没有提到在路径组件中包含参数的可能性。
另一个site提到了这种可能性,但它也补充说它几乎从未使用过:
每个路径段可以包含通过a与段分离的参数; (分号)字符,例如:
http://www.blah.com/some;param1=foo/crazy;param2=bar/path.html
上面的网址完全有效,但路径段保存参数的功能几乎从未使用过(我从未见过它)。
我在Stackoverflow上找到了解释"何时使用@QueryParam vs @ PathParam"但在我看来,任何参数都可以在查询组件中传递,使路径参数变得多余。最重要的是,我不知道为什么有人会使用上面的语法来传递URI中的参数。
上面引用的示例还提出了param1
和param2
是否分别与some
和crazy
有关的问题。或者为什么我们可以在路径组件中包含参数?
提前谢谢。