向delete
端点发出/api/ingredients/123
请求。
如果成分123不存在,我希望我应该返回404 Not Found状态代码。同意?
如果成分123确实存在,但在现有配方中使用,则无法删除。应该返回什么状态代码?
答案 0 :(得分:1)
由于与当前冲突,请求无法完成 资源状态。仅在以下情况下才允许使用此代码 预期用户可能能够解决冲突,并且 重新提交请求。响应正文应包含足够的内容 供用户识别冲突源的信息。 理想情况下,响应实体应包括足够的信息,以便 用户或用户代理来解决问题;但是,那可能不是 可能,并非必需。
在您的情况下,不能删除一种或多种配方中使用的配料(资源状态冲突)。但是一旦成分失效,就可以将其删除。
答案 1 :(得分:0)
304未修改,也许?或者,412 Precondition Failed。
这里有一个状态代码定义列表:https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
我认为对这个问题的任何答案都是30%的技术性,70%的意见。
答案 2 :(得分:0)