我有一个带有 uri 的资源/api/books/122
,如果在客户端为此资源发送 HTTP Delete 时该资源不存在,那么此操作的适当响应代码是什么?是 404 未找到吗?
谢谢
问问题
36148 次
3 回答
92
删除调用的响应代码可以是以下任何一种:
DELETE /api/book/122
- 服务器成功处理了请求,但没有返回任何内容204 No Content
DELETE /api/book/122
- 资源不存在404 Not Found
DELETE /api/book/122
- 资源已删除410 Gone
DELETE /api/book/122
- 用户没有权限403 Forbidden
DELETE /api/book/122
- 不允许的方法405 Method Not Allowed
DELETE /api/book/122
- 冲突(用户可以解决冲突并删除)409 Conflict
在你的情况下 404 是合适的。
于 2016-02-26T05:02:09.743 回答
43
是的,应该是 404。
通常,如果请求以某种方式错误,则会出现 400 系列错误,如果服务器出现问题,则会出现 500 系列错误。
于 2013-07-26T14:50:13.647 回答
-1
于 2021-10-31T18:44:11.420 回答