当需要创建一个采用有限参数集的 URL 时,其中所有所述参数在语义上都是相同的“级别”,目前围绕在 URL 中使用分隔符的共识是什么?这是一个例子:
/myresource/thing1,thing2,thing3
/myresource/thing2,thing1
/myresource/thing1;thing2;thing3
/myresource/thing1;thing3
也就是说,这里的参数可以是单个、一对或三个。它们可以按任何顺序指定,因为它们不是逻辑树,而 thing2 不是 thing1 的从属资源,所以这样做似乎是“错误的”:
/myresources/thing1/thing2/thing3
这让我很困扰,因为它暗示了三元组元素之间的树状关系,但事实并非如此(尽管许多 HTTP 框架似乎都在推动这一点,但在我看来是错误的)。此外,使用查询字符串感觉不对,因为这不是搜索操作,它是一个非常有限空间中的已知三元组——可以说,没有什么可查询或搜索的。
我想另一种选择是让它成为一个POST
请求并提供一个详细说明所提供的三元组部分的正文。出于某种原因,这并没有给我带来温暖的模糊感。
其他人是如何处理这个问题的?分隔符对我来说似乎很干净,并且传达了资源的预期语义,但我知道有些人会采取不同的观点,我希望了解其他有类似用例的人的经验。