2017-01-24 18 views
2

Microsoft.AspNetCore.Http.StatusCodesコントローラでこのように使用され、例えば、コントローラと缶から復帰するために有用なステータスコード定数がたくさん含まれていますMicrosoft.AspNetCore.Http.StatusCodesに422 Unprocessable Entityが含まれていないのはなぜですか?

return StatusCode(StatusCodes.Status201Created); 

をしかし、奇妙StatusCodesクラス422は処理不可能なエンティティのための値を含まない、少なくともしませんAsp.Net Core 1.0.1で。なぜそれにStatusCodes.Status422UnprocessableEntityが含まれていないのですか?

このhttpステータスコードは、私が気付いていない仕様で償却されていますか?あるいは、422 Unprocessable Entityが含まれていないという他の理由がありますか?

答えて

2

実際にはMicrosoft.AspNetCore.Http.StatusCodesに含まれています。

に現在のリストを見つけてください:StatusCodes.cs


HTTPステータスコード422は、WebDAV、特定の(RFC 4918)で、それは少し後でMicrosoft.AspNetCore.Http.StatusCodesに追加されました。


Added HTTP Status codes #654プル要求の詳細を参照してください)しかし、問題は、使用しているASP.NETコアのバージョンであるので、それは、数ヶ月前でしたか?


更新:

ロンCは気づいたように - このステータスコードは(v1.0.1デベロッパーでなく入手可能)V1.1に含まれています。

+0

あなたの先生は正しいと思われます。ニースを見つけて、これを指摘してくれてありがとう。 – Vlince

+1

もちろん!ありがとうございました。私はAsp.Net Core 1.0.1を実行していますが、このバージョンには存在しません。しかし、あなたが提供した情報のおかげで、1.1にGitHubが存在することがわかりました。 –

+0

はい、私はv1.1を実行していますので、constの442が表示されていますが、正しくはv1.0.1がリリースされた後に表示されていたようです。 –

1

私は理由を知りませんでしたが、すばやく検索して、これを見つけましたpost。 2015として

、@Tomクリスティは、以下に述べた:

行動的400の両方と422の応答コードがクライアントと仲介によって同じ を扱われ、それが実際に具体 差がありませんそれはあなたが使うものです。

そして、この:

422は、具体的WebDAV拡張され、RFC 2616 またはHTTPbis specification以降で参照されていません。

たぶん...もしかしたら...ステータスコード422がMicrosoft.AspNetCore.Http.StatusCodesの一部ではない理由は、それがWebDAV拡張であるためであるかもしれないが、私はそれとして私の言葉を取ることはありません何が原因であるかについての意識を高めることを試みるだけです。

関連する問題