RESTful数据结构模式

dad*_*ads 7 rest design-patterns http data-structures

我尝试谷歌搜索和搜索到处,但无法找到关于这个主题的最终权威.虽然忠于REST原则,但我应该如何设计HTTP接口:

  1. 有序列表(获取,添加,插入位置,重新排序,删除)

  2. 一套(获取,添加,删除)

  3. 哈希表(获取,添加,删除)

注意:这些数据结构包含对已知ID的现有资源的引用

lau*_*ent 10

这就是我如何为有序列表和哈希表做到这一点.我猜方法和列表的方法是相同的:

订购清单

获取项目123:

GET /list/123
Run Code Online (Sandbox Code Playgroud)

将项目附加到列表:

POST /list/
Run Code Online (Sandbox Code Playgroud)

将新项目插入位置5:

POST /list/?position=5
Run Code Online (Sandbox Code Playgroud)

将项目123移动到位置3:

PUT /list/123?position=3
Run Code Online (Sandbox Code Playgroud)

删除第123项:

DELETE /list/123
Run Code Online (Sandbox Code Playgroud)

删除位置3的项目:

DELETE /list/?position=3
Run Code Online (Sandbox Code Playgroud)

当然,您的API应该在插入和删除时更新所有元素的索引.

哈希表

获取项目"somekey":

GET /hashtable/somekey
Run Code Online (Sandbox Code Playgroud)

添加项目"somekey":

POST /hashtable/somekey
Run Code Online (Sandbox Code Playgroud)

删除项目"somekey":

DELETE /hashtable/somekey
Run Code Online (Sandbox Code Playgroud)