我正在创建一个RESTful API,允许客户端检查特定服务是否正在运行。 编辑:请求地址看起来像这样 - / services / 123 / running
可能的返回值是:
应该使用什么HTTP状态代码来通知客户端服务确实存在,但目前还没有运行?
编辑:经过更多研究后,我发现了一个有点涉及同一主题的stackoverflow讨论 - What is the appropriate HTTP status code response for a general unsuccessful request (not an error)?
答案 0 :(得分:1)
您不希望为此使用HTTP状态代码。它们用于表明请求是如何进行的。
相反,您应该在响应正文中传递状态。如果请求(检查服务的状态)没有问题,那么HTTP状态代码应该始终为200,唯一不同的应该是正文。
示例:
服务存在且正在运行
Status code 200 Ok
Body {"status": "exists and running"}
服务存在,但没有运行
Status code 200 Ok
Body {"status": "exists, not running"}
服务不存在
Status code 200 Ok
Body {"status": "doesn't exist"}