我正在编写REST服务,并且某些推送请求仅在某个时间窗口内有效。例如,在活跃的工作时间。在这些时间之外,服务器将发送错误。
我查看了可用的HTTP状态代码,我不确定哪一个最适合申请“无效的服务器状态”#39;或同等情况。我正在考虑400(错误请求)或422(不可处理实体)?
对于422,definition我有"请求格式正确,但由于语义错误而无法遵循。"并想知道这是否真的是最适用的案例?
答案 0 :(得分:1)
curl -sS http://getcomposer.org/installer | php
看起来像是对我的正确回应。这绝对是一个客户端错误,但请求本身并没有错;只是请求的时间。如果回复机构包含一些其他信息以便明确说明(按照“我们的办公室已关闭。请在格林尼治标准时间周一至周五上午9点到下午5点之间提出要求。”)那么您已成功使用一种简单而通用的响应类型,以适当的方式。这是一个很好的API。
作为补充说明;我之所以说422不太正确的原因是请求的含义是清楚的。这只是一个时间问题,没有语义错误。