我正在构建一个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....
}
答案 0 :(得分:2)
400,或者如果name参数是URI的一部分,那么您可以返回404。
答案 1 :(得分: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.