收集有限的HTTP状态代码?(HTTP status code for limited collec

2019-08-02 23:42发布

我有一个RESTful服务,其中的收藏品之一有限(UX原因)。 在这种情况下,它有25项的上限。 如果超出资源必须以前更被删除,可以添加。 举个例子,如果一个客户端提交:

POST http://somesite.com/api/v2/stuff
{"cool":"stuff"}

并有<在东西25件事情:

200 OK

如果东西> 25件事情:

???

DELETE http://somesite.com/api/v2/stuff/:id

POST http://somesite.com/api/v2/stuff
{"cool":"stuff"}

200 OK

什么是对此最好的代码? 直400? 409冲突吗? 429? 似乎都不完全正确..

Answer 1:

使用409.从httpbis节7.5.8 :

“情况,预计用户可能能够解决冲突并重新提交请求时请求无法完成,因为与资源的当前状态的冲突。该代码只允许在的情况下,有效载荷应该有足够的用户信息识别冲突的根源“。

在你的情况下,资源是一个通过鉴定http://somesite.com/api/v2/stuffPOST请求无法完成,原因与它的当前状态的冲突(这是它已经刷爆了) 。 在您的回复,给用户足够的信息(最好链接)删除现有的成员之一,达极限,或采取其他措施。 然后,他们可以重新提交原始请求。



文章来源: HTTP status code for limited collection?