Asp.net core mvc 为什么Microsoft.AspNetCore.Http.StatusCodes不包括422不可处理的实体?

Asp.net core mvc 为什么Microsoft.AspNetCore.Http.StatusCodes不包括422不可处理的实体?,asp.net-core-mvc,Asp.net Core Mvc,Microsoft.AspNetCore.Http.StatusCodes包含许多用于从控制器返回的状态码常量,例如,可以在控制器中这样使用: return StatusCode(StatusCodes.Status201Created); 但奇怪的是,StatusCodes类没有包含422个不可处理实体的值,至少在Asp.NETCore1.0.1中没有。为什么它不包含状态代码。状态422不可处理实体 这个http状态代码是否被一些我不知道的规范贬低了?或者是因为其他原因没有包括422个不可处

Microsoft.AspNetCore.Http.StatusCodes
包含许多用于从控制器返回的状态码常量,例如,可以在控制器中这样使用:

return StatusCode(StatusCodes.Status201Created);
但奇怪的是,
StatusCodes
类没有包含422个不可处理实体的值,至少在Asp.NETCore1.0.1中没有。为什么它不包含状态代码。状态422不可处理实体


这个http状态代码是否被一些我不知道的规范贬低了?或者是因为其他原因没有包括422个不可处理的实体?

我不知道为什么,但我快速搜索了一下,找到了这个

截至2015年,@Tom Christie提到以下内容:

在行为上,400和422响应代码将被视为相同 由客户和中介机构提供,所以它实际上并不是一个具体的解决方案 你使用的不同

这是:

422是一个WebDAV扩展,在RFC中没有引用 2616或更新版本


可能…只是可能…状态代码422不是Microsoft.AspNetCore.Http.StatusCodes的一部分的原因可能是因为它是一个WebDAV扩展,但不要相信我的话,因为我只是想提高人们对原因的认识。

实际上它包含在
Microsoft.AspNetCore.Http.StatusCodes

请在以下位置查找当前列表:


HTTP状态代码422是特定于WebDAV的(RFC 4918),它是在稍晚些时候添加到Microsoft.AspNetCore.HTTP.StatusCodes的

(请参阅拉动请求的详细信息)


但那是几个月前的事了,所以问题是你用的是什么版本的ASP.NET内核


更新:


正如Ron C所注意到的,该状态代码包含在v1.1中(在v1.0.1中不可用)。

果然!非常感谢。我正在运行Asp.Net Core 1.0.1,但此版本中不存在该版本。但我看到它确实存在于GitHub上的1.1中,这要感谢您提供的信息。是的,我正在运行v1.1,所以我看到了442的const,但您是对的,它看起来是在v1.0.1发布后包含的。