使用 c# 使用 IHttpActionResult 将请求类型作为 XML 发送
Posted
技术标签:
【中文标题】使用 c# 使用 IHttpActionResult 将请求类型作为 XML 发送【英文标题】:Send Request Type as XML with IHttpActionResult using c# 【发布时间】:2020-06-06 04:56:14 【问题描述】:如何将请求类型的数据作为 XML 传递?
我在 IHttpAction Result 下面创建了接受并返回 JSON 数据的结果。我的要求是我想发送一个 XML 请求并返回 XML 响应。我已将 XMLAttribure 添加到 [DataMember] 但仍以大摇大摆的方式显示为 JSON 的请求对象?
[HttpPost]
[Route("api/getuser")]
public IHttpActionResult getuser(PortalRequest xmlRequest)
return Ok("success);
[DataContract]
[XmlSerializerFormat]
public class PortalRequest
[DataMember, XmlAttribute]
public string UserId get; set;
[DataMember, XmlAttribute]
public string UserName get; set;
[DataMember, XmlAttribute]
【问题讨论】:
【参考方案1】:在您的 HttpConfiguration 中,您需要添加以下行以将 XML 包含为可接受的格式。
config.Formatters.JsonFormatter.SupportedMediaTypes.Clear();
config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"));
config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/xml"));
【讨论】:
我有一些返回JSON的现有方法,所以如果我在Config中添加application/xml不会影响其他结果?我希望这不会是一个问题 它不会影响其他接收appplicatino/json格式的方法。但是一定要在你的开发中测试它,看看这会如何改变招摇以上是关于使用 c# 使用 IHttpActionResult 将请求类型作为 XML 发送的主要内容,如果未能解决你的问题,请参考以下文章