我对REST的理解(公认仅限于wikipedia page)是GET
集合的成语是../resource/
,而项目是../resource/itemId
。
是否有GET
子集合的标准习惯用法?例如,如果集合中的项目具有某些状态切换(例如状态A, B, C, D
),并且我希望能够请求状态为B
的项目,那么是否存在标准/通用/最佳 - 练习这样做的方法吗?
如果没有,我现在正在摆弄以下语法选项:
../resource/B
../resource/state/B
../resource?state=B
你看到了哪些利弊?
答案 0 :(得分:1)
你想在那里使用第三个,除了复数(因为你得到的不止一个)
../resources?state=B
因为它准确地描述了你想要的东西。您GET
具有特定州的资源。
../resource/B
表示您获得了B
../resource/state/B
表示您获得的资源state
属于resource
,由B
唯一标识。
如果您处理有限数量的状态,另一种选择是将状态设置为资源,并使资源成为该状态的子资源。那么你会有
states/B/resources
答案 1 :(得分:0)
REST约束实际上并没有说明如何命名资源。 REST只是说资源应该有一个名字。
话虽如此,杰米的回答可能是最明显的做法。您可以将命名URL与命名过程进行比较,没有正确和错误的方法,只有一些名称比其他名称更明显。