C# 使用c以XML形式发送请求类型,并使用IHttpActionResult#

C# 使用c以XML形式发送请求类型,并使用IHttpActionResult#,c#,rest,wcf,C#,Rest,Wcf,如何将请求类型数据作为XML传递 我已经创建了下面的IHttpAction结果,它接受并返回JSON数据。我的要求是发送一个XML请求并返回XML repsonse。我已经在[DataMember]中添加了XMLAttribure,但在swagger中仍然显示为请求对象JSON [HttpPost] [Route("api/getuser")] public IHttpActionResult getuser(PortalRequest xmlRequest) { return Ok(

如何将请求类型数据作为XML传递

我已经创建了下面的IHttpAction结果,它接受并返回JSON数据。我的要求是发送一个XML请求并返回XML repsonse。我已经在[DataMember]中添加了XMLAttribure,但在swagger中仍然显示为请求对象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]

    }

在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,它不会影响其他结果?我希望这不会成为一个问题,因为它不会影响其他接收applicationno/json格式的方法。但是一定要在你的开发中测试它,看看它是如何改变招摇的