[使用C#使用IHttpActionResult将请求类型发送为XML
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[使用C#使用IHttpActionResult将请求类型发送为XML相关的知识,希望对你有一定的参考价值。
如何将请求类型数据作为XML传递?
我在IHttpAction结果下面创建了一个结果,该结果接受并返回JSON数据。我的要求是我想发送请求XML并返回XML响应。我已经将XMLAttribure添加到[DataMember],但是仍然以大张旗鼓的形式显示为JSON的Request对象?
[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]
}
答案
在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"));
以上是关于[使用C#使用IHttpActionResult将请求类型发送为XML的主要内容,如果未能解决你的问题,请参考以下文章
如何使用IHttpActionResult对Created-201响应进行编码
将HttpResponseBase转换为IHttpActionResult