2017-02-15 55 views
0

我在想,如果有必要与当客户端试图删除用户404状态代码返回User doesn't exist消息。是否有必要尝试删除该资源时返回`404未Found`?

  • 如果我们要删除用户,那么返回User doesn't exist消息有什么意义?

  • 如果我们想知道用户确实存在或不存在,我们将使用GET方法而不是DELETE方法吗?如果用户甚至不之前存在,那么就不会被显示在列表中,你会如何想删除它?假设我在浏览器中打开了两个选项卡,然后在第一个选项卡中删除了用户,现在我试图删除第二个选项卡中的同一用户,我应该获得200 OK状态还是404 Not Found

该用户不存在了,这不是我想要的吗?对我来说不应该是OK

+2

如果您删除操作经过成功的话,那就是你返回状态代码确定最好的,这意味着你的手术很成功。 – Sparrow

回答

1

一般而言,当您尝试GET不存在的资源,你应该返回404(与消息一起,如果你想)。

当您尝试使用DELETE资源时,意图是“此资源在此调用之后不应该存在”,您应始终返回2XX代码(如果没有内容 - 一般情况下为204),或者200/202是你有的选择)。该资源已被删除或从未存在不与意图相冲突,所以没有来回报404

希望这有助于事实。

相关问题