【发布时间】:2014-06-17 10:24:55
【问题描述】:
我正在开发 WebAPI 2 中的服务,并且端点当前返回 IHttpActionResult。我想返回一个状态码422,但由于它不在HttpStatusCode 枚举中,我不知道如何发送它,因为所有构造函数都需要HttpStatusCode 的参数
就目前而言,我正在返回 BadResult(message),但返回 422 + 消息对我的客户来说更具描述性和有用性。有什么想法吗?
【问题讨论】:
-
如果您使用 ASP.NET 或 ASP.NET MVC 返回 '(HttpStatusCode)422
. That's valid C# but I haven't used WebAPI 2, to be sure it won't be rejected. Otherwise one can certainly return422 Unprocessable Entity` 和其他 RFC 2616 后状态会发生什么,所以也许可以下拉到在 WebAPI2 中,但我又不知道,所以不能给出完整的答案。我确实知道,在 MVC 中,仅设置HttpResponse.StatusCode会自动为 RFC 2616 代码设置正确的状态描述,除此之外,您还需要自己设置“不可处理实体”等。 -
对不起,为什么要使用422? HTTP 1.1 规范中没有定义!
-
@ToanNguyen 422 在用于 Web 分布式创作和版本控制 (WebDAV) 的 HTTP 扩展中定义 (tools.ietf.org/html/rfc4918#section-11.2) 另请参阅:bennadel.com/blog/…
标签: c# asp.net-web-api http-status-code-404