Webapi 2不返回XML格式的列表

本文关键字:格式 列表 XML 返回 Webapi | 更新日期: 2023-09-27 18:06:04

public IEnumerable<Word> GetWords()
{
    return db.Words.ToList();
}

我需要这个输出在XML使用webapi2;我已经用谷歌搜索过了

var appXmlType = config.Formatters.XmlFormatter.SupportedMediaTypes.FirstOrDefault(t => t.MediaType == "text/xml");
config.Formatters.XmlFormatter.SupportedMediaTypes.Remove(appXmlType);

只返回JSON格式的数据。

我也更新了包Microsoft.AspNetCore.Mvc.Formatters.Xml

我怎么能得到它在XML?

提前感谢。

Webapi 2不返回XML格式的列表

将HTTP Accept头和Content-Type头都设置为"application/xml"

我设置了一个空的Web API项目,并使用PostMan发出了一个GET请求。开箱即用的Web API返回了像

这样的XML
 <ArrayOfstring xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <string>value1</string>
      <string>value2</string>
 </ArrayOfstring>

为默认示例控制器。诀窍是在请求中设置Accept报头。

 Accept: text/xml (or application/xml)

请记住,指定的行

config.Formatters.XmlFormatter.SupportedMediaTypes.Remove(appXmlType);

删除媒体类型。因此它将禁用XML输出(而不是启用它)。