1

我是编写 restful web 服务的新手,我有一个关于正确使用响应代码 404(未找到)和 405(方法不允许)的问题。

使用 Web 服务 URLsystemuser/delete/[user-id-here]时,如果用户已被删除(因此不存在),我的印象是我应该返回404 Not Found状态代码,因为资源不再存在?或者我应该返回地址,405 Method not allowed因为地址有效,但资源不再可删除,因此无法执行操作?

非常感谢

4

1 回答 1

2

这显然是未找到资源 - 404 error response。当您发出请求时,DELETE+/user/{id} -如果 Id 不存在 -throw HTTP 404 (also read HTTP specs) 如果没有为此资源指定删除操作,则响应将是405,即方法不允许。

还有一个建议-不要将动词添加到 URL 中,例如/user/delete/{id} just make it /user/{id} + HTTP DELETE.

于 2013-09-20T11:50:19.897 回答