使用 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 发送的主要内容,如果未能解决你的问题,请参考以下文章

创建可以从 c# 和 c++ 中使用的 c# dll

如何使用 C# GUI 调用 C# 控制台应用程序 [重复]

使用托管 C++ 项目中的 C# 类

c#脚本中使用c#方法

mysql日期时间格式使用c#

如何在 C# 的泛型中使用扩展