JSONではなくXMLを返すように、Web APIコントローラー内でアクションを構成するにはどうすればよいですか?
XmlElement属性を持つUserProfileオブジェクトを返すアクションがあります。
[HttpGet]
public UserProfile SearchByEmail(string siteName, string email)
{
var userProfile = this._profileFinderByEmail.Find(siteName, email);
if (userProfile == null)
{
throw new HttpResponseException(HttpStatusCode.NotFound);
}
return userProfile;
}
このアクションを実行すると、xmlではなくapplication/jsonが返されます。どうすればxmlを返すことができますか?
Fiddlerから判断すると、私が送信していたリクエストヘッダーには、以下のAcceptヘッダーキーがありました。
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
xmlを返すことを期待していましたが、そうではありません。
それを修正する方法は?
また、WebApiConfigクラスに以下の値を設定しました。
GlobalConfiguration.Configuration.Formatters.XmlFormatter.UseXmlSerializer = true;
Chrome /ネットワークタブから見ると、以下のエラーが表示されます。
Status Code:406 Not Acceptable