哪种HTTP响应代码最适合这种情况?

时间:2012-07-17 10:49:14

标签: http rest restful-architecture

我正在编写API以使用户可以订阅内容。用户可以通过提交POST这样的内容来订阅任何内容:

{
    "item_id": "c13",
    "requested_status": "subscriber",
    "sure": true,
}

您可以在此处看到sure参数。我正在使用它来避免意外地订阅。如果客户端在没有sure参数API的情况下发送该信息,则拒绝该请求使GUI询问“确定要订阅这个吗?”。如果用户确认,则使用sure参数再次发生相同的帖子。订阅(或取消订阅)发生。

因此,当我拒绝该请求时,因为没有sure参数。我应该使用哪种响应代码?我认为可以使用400(不良请求),但不确定。

感谢您的回复。

1 个答案:

答案 0 :(得分:1)

HTTP代码是具有纯技术含义的代码。你想要的不是技术问题,不应该用技术手段处理。

由于收到响应并包含技术上正确的值(与功能有效值不同!),您应该发送200 - OK状态。您的回复内容应该是接下来要执行的操作。在这种情况下,询问用户他/她是否确定。

如果您使用Post-Redirect-Get,则303 - 查看其他状态是您的最佳选择。