REST响应代码

时间:2014-01-21 07:54:00

标签: rest response

实现RESTful API时,我们应该为用户提供适当的操作响应。

基于正确构建链接并使用适当的动词发送REST API的体系结构允许用户向API询问有关任何数据的任何请求。我应该向用户提供什么样的响应代码,当他要求为他要求的数据实现的方法时?

示例:

API允许用户通过postAction添加文章,但根本不允许删除文章。当用户向我的API发送REST DELETE请求时,我应该向用户提供什么响应? 404?

3 个答案:

答案 0 :(得分:2)

如果是用户权限问题,403似乎最合适。 (禁止 - 你不允许这样做,但其他人可能会这样做)

如果 no-one 被允许执行DELETE,但它是一个有效的URI,405。(方法不允许)

如果它是对不存在的资源的访问权限,但是对这些资源支持DELETE,则然后 404是合适的。 (未找到)

如果不是其中一种情况(即用户不允许DELETE他们提供的URI是针对实际不存在的资源那么你需要决定哪一条信息更重要。我可能会选择404。

答案 1 :(得分:0)

RESTfull服务中基本上有四种方法。 GET 发布 PUT 删除

您可能正在使用 POST 服务添加文章。

当使用不同于预期的方法调用REST api时,API会自动返回 HTTP状态代码 405(不允许使用方法)

如果您允许此API也使用 DELETE 方法,那么任何人都可以使用 DELETE 方法调用。如果您想禁止用户删除该特定内容,则可以返回 403(禁止)响应代码。

答案 2 :(得分:0)

您需要回复响应代码405 Method Not Allowed。

状态代码列表:Wikipedia