RESTサービスはコンテンツネゴシエーションを提供する必要があります。つまり、クライアントは応答の目的のコンテンツタイプを含むAcceptヘッダーを送信します。サービスがこのメディアタイプをサポートしていない場合は、ステータスコード406(Not Acceptable)で応答する必要があります。ASP.NETコアのステータスコード406(使用できない)
この動作をASP.NETコアにマップしようとしました。 Acceptorヘッダーのメディアタイプが認識されない場合、ASP.NETコアはJSONドキュメントを返します。フレームワークの以前のバージョンでは、上述の動作は、構成に特殊出力フォーマッタを添加することによって達成することができる:
public void ConfigureServices(IServiceCollection services) {
services.AddMvc(options => {
options.OutputFormatters.Insert(0, new HttpNotAcceptableOutputFormatter());
});
}
残念なことに、HttpNotAcceptableOutputFormatter
がRC1後ASP.NETコアフレームワークから除去しました。フレームワークの現在のバージョンでこのクラスの代替がありますか?
どのように地球を見つけましたか? – Mardoxx
@Mardoxx RC2ブランチを見て、[ファイルを見つけました](https://github.com/aspnet/Mvc/blob/1.0.0-rc2/src/Microsoft.AspNetCore.Mvc.Core/Formatters/HttpNotAcceptableOutputFormatter.cs )を使用してファイル検索(キーボードショートカット:T)を使用します。それはファイルが元々どこにあったか教えてくれました。その後、私は[devブランチのフォルダの履歴](https://github.com/aspnet/Mvc/commits/dev/src/Microsoft.AspNetCore.Mvc.Core/Formatters)に行き、「バイナリ検索」を使ってファイルを削除したコミットを見つけるためのGitHub UI。 – poke