从Web Api控制器返回XML
本文关键字:返回 XML 控制器 Api Web | 更新日期: 2023-09-27 18:05:02
如何从web api控制器指定返回xml ?在一个浏览器中数据以XML格式打开,在另一个浏览器中以JSON格式打开。
编辑
下面是我的动作:
[HttpGet]
public IEnumerable<MagazineMeta> GetLastUploadPdfMeta(int count)
{
List<MagazineMeta> metas = _metaRepository
.GetAll()
.OrderBy(e => e.TimeAdd)
.Take(count)
.ToList();
return metas;
}
将这两行添加到Global.asax.cs中的Application_Start末尾:
GlobalConfiguration.Configuration.Formatters.Clear();
GlobalConfiguration.Configuration.Formatters.Add(new System.Net.Http.Formatting.XmlMediaTypeFormatter());
编辑:正如@YishaiGalatzer所指出的,这是相当快的&肮脏的解决方案,以实现最初提出的问题。要获得所需的响应格式,请在请求中包含适当的Accept标头(在此问题的上下文中为"application/xml")
要使响应序列化,还需要一行
GlobalConfiguration.Configuration.Formatters.XmlFormatter.UseXmlSerializer = true;
对于其他想要强制使用json的人,调用这个:
GlobalConfiguration.Configuration.Formatters.Clear();
GlobalConfiguration.Configuration.Formatters.Add(new System.Net.Http.Formatting.JsonMediaTypeFormatter());