不成功处理请求的HTTP响应

时间:2014-07-11 17:37:06

标签: rest http http-status-codes

我们说我有一个REST POST终点:www.foo.com/id/X其中X代表一个数字。

我的服务器端伪代码如下所示:

performIdLookup(int id) { 

  if ( idExists(id) ) {
     return toJson(lookup(id)) // returns 200/OK Status Code with object as JSON
  }
  else {
     return HTTP_???_error 
  }
}

根据此question,由于用户提交了有效请求,因此发送400错误似乎并不正确,但服务器无法找到它。

这里有正确的HTTP响应以及为什么?

2 个答案:

答案 0 :(得分:5)

这很容易。

404 Not Found

如果/id/42没有资源,则此网址的资源可以

请参阅list of HTTP status codes

答案 1 :(得分:1)

不是400(不良请求)。但404(未找到)。是的,404不是我们在这些情况下习惯观看的内容,但您可以通过回复添加一些自定义信息。