如何用Restful API描述一个队列的行为?

有一个队列对象, 需要描述的行为有push, pop.
那么我如何用Restful的形式描述它?

阅读 6.6k
4 个回答

可以参考github star的行为模式api 设计:

1 PUSH

PUT /v1/resource/queued/:id

Response

status: 204 No Content

2 POP

DELETE /v1/resource/queued/:id

Response

status: 204 No Content

提供两个解决方案:

假设你的资源是/v1/resource

1、使用控制器处理非简单“添删改查”任务。
push方法:POST /v1/resource/push
pop方法:POST /v1/resource/pop
注意两个方法都是非安全非幂等的方法,所以应该均使用POST标头。

2、使用自定义HTTP标头处理自定义任务。
push方法:PUSH /v1/resource
pop方法:POP /v1/resource
需要服务器、浏览器支持。

自定义HTTP标头的浏览器支持性我在一篇博文里看到过,等我翻到了回来更新

插入队列 (push)
PUT /list

获得最后一个元素 (pop)
GET /list/last

谢谢前面几位的回答.
以下答案是我在Stackoverflow找到的.

我们将资源uri定义为 /v1/taskqueues/<id>
Push操作能够看作 POST /v1/taskqueues/<id>/tail
Pop操作能够看作 DELETE /v1/taskqueues/<id>/top

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进