0

我正在编写一个 REST 服务,一些推送请求只能在特定的时间窗口内工作。例如在活跃的工作时间。在这些时间之外,服务器将发送错误。

我查看了可用的 HTTP 状态代码,但我不确定哪个最适合申请“无效服务器状态”或同等情况。我正在考虑 400(错误请求)还是 422(无法处理的实体)?

对于 422,我的定义是“请求格式正确,但由于语义错误而无法遵循”。想知道这是否真的是最适用的案例?

4

1 回答 1

1

400 Bad Request看起来对我来说是正确的回应。这绝对是客户端错误,但请求本身没有问题;只是请求的时间。如果响应正文包含一些额外的信息来说明这一点(沿着“我们的办公室关闭。请在格林威治标准时间周一至周五上午 9 点到下午 5 点之间提出请求。”),那么您已经成功使用以适当的方式简单而常见的响应类型。这构成了一个很好的 API。

作为补充说明;我会说 422 不太正确的原因是请求的含义很清楚。这只是一个时间问题,没有语义错误。

于 2016-08-24T17:22:04.043 回答