如何在 Web API 控制器中配置操作以返回 XML 而不是 JSON?
我有一个动作,它返回一个具有 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;
}
当我运行此操作时,它返回 application/json 而不是 xml。我怎么能返回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