一部の製品データを返すWeb APIプロジェクトがあります。リクエストのAcceptヘッダー(JSON/XML)に応じて、戻り値の型を正しくネゴシエートします。問題は、Acceptヘッダーが指定されていない場合、JSONを返しますが、デフォルトでXMLを返したいです。 Global.asaxのコンテンツネゴシエーションのデフォルトを変更するにはどうすればよいですか?
http://www.strathweb.com/2013/06/supporting-only-json-in-asp-net-web-api-the-right-way/ で解決策を見つけた
これをWebApiConfig.Register()
に追加しました:
config.Formatters.Clear();
config.Formatters.Add(new XmlMediaTypeFormatter());
config.Formatters.Add(new JsonMediaTypeFormatter());
config.Formatters.Add(new FormUrlEncodedMediaTypeFormatter());
したがって、デフォルトは最初のフォーマッタであるXMLですが、リクエストで要求された場合、APIはJSONをサポートします。