-1

如何指定从 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;
    }
4

3 回答 3

7

将这两行添加到 Global.asax.cs 中 Application_Start 的末尾:

GlobalConfiguration.Configuration.Formatters.Clear();
GlobalConfiguration.Configuration.Formatters.Add(new System.Net.Http.Formatting.XmlMediaTypeFormatter());

编辑: 正如@YishaiGalatzer 指出的那样,这是实现最初提出的问题的快速而肮脏的解决方法。要获得所需的响应格式,请在请求中包含适当的 Accept 标头(在此问题的上下文中,“application/xml”)

于 2013-03-21T14:24:18.730 回答
1

要使响应序列化,您需要多行

GlobalConfiguration.Configuration.Formatters.XmlFormatter.UseXmlSerializer = true;
于 2014-03-20T22:23:00.463 回答
0

而对于其他想要强制执行 json 的人,请调用:

GlobalConfiguration.Configuration.Formatters.Clear();
GlobalConfiguration.Configuration.Formatters.Add(new System.Net.Http.Formatting.JsonMediaTypeFormatter());
于 2013-08-30T11:58:53.400 回答