我目前正在构建一个Web API,有一个特定的场景,我无法确定应返回哪个HTTP状态码最合适。
场景描述
我有一个"客户端"资源,它拥有一组联系人资源。
不变的是,客户端必须始终至少拥有一个联系人。因此,如果发出删除联系人的请求,并且该联系人是给定客户端的最后一个联系人,则需要返回适当的HTTP响应,指示请求无法实现,因为“不能删除最后一个联系人”。
我的感觉是,这应该属于“4xx客户端错误”的范畴。
我考虑了以下状态码:
400错误请求 - 我排除了这个选择,因为它专门处理服务器无法理解的格式错误请求。
405方法不允许 - 起初似乎这个很合适,但我认为405表示这种方法永远不应被允许,然而上述场景只是暂时的。你怎么看?
409冲突 - 我更倾向于这个选择,但通常给出此代码的常见示例是并发异常/编辑冲突。
有没有人能够指导我在这种情况下应该如何响应?