如何更改默认的ASP.NET MVC Web API媒体格式化程序?

我有一个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。