首先,请记住以下内容(引自定义REST架构风格的Fielding博士论文的chapter 6):
资源不是存储对象。资源不是服务器用于处理存储对象的机制。资源是概念图[...]
抽象数据库问题,如果资源的状态存在冲突,409
状态代码似乎是最适合这种情况的代码。服务器还应该在响应有效负载中返回有关冲突的详细信息:
6.5.8. 409 Conflict
409
(冲突)状态代码表示请求不能
由于与目标的当前状态发生冲突而完成
资源。此代码用于用户可能的情况
能够解决冲突并重新提交请求。服务器
应该生成一个包含足够用户信息的有效负载
认识到冲突的根源。 [...]