4

我正在构建一个 Web API 方法来检查名称是否在该类型中是唯一的,并且需要确保给出 name 参数。返回的正确状态码是什么?

public HttpResponseMessage GetIsNameUnique(string name)
{
  if (string.IsNullOrWhiteSpace(layoutName))
  {
      throw new HttpResponseException(new HttpResponseMessage { 
        StatusCode = HttpStatusCode.{What Goes Here?},
         Content = new StringContent("The name is required.")
      });
  }
  // more code here to check....
}
4

2 回答 2

3

400,或者如果 name 参数是 URI 的一部分,那么您可以返回 404。

于 2013-04-08T17:00:42.317 回答
0

编辑:400 似乎是最好的答案,而不是 412,我在下面提到。

在查看此问题评论中 codebox 提供的链接后,我将使用 412,PreconditionFailed。来自 System.Net.HttpStatusCode 文件

// Summary:
//     Equivalent to HTTP status 412. System.Net.HttpStatusCode.PreconditionFailed
//     indicates that a condition set for this request failed, and the request cannot
//     be carried out. Conditions are set with conditional request headers like
//     If-Match, If-None-Match, or If-Unmodified-Since.
于 2013-04-08T14:19:40.423 回答