来自WEB API解决方案的XMl响应

本文关键字:XMl 响应 解决方案 WEB API 来自 | 更新日期: 2023-09-27 18:20:25

我有一个Web API解决方案,它被配置为始终以JSON格式响应结果,如下

config.Formatters.JsonFormatter.SerializerSettings.Formatting =
                Newtonsoft.Json.Formatting.Indented;

但现在我有一个要求,即使用XML响应只响应API调用中的一个。但是如果我将XML格式化程序添加到系统中

config.Formatters.XmlFormatter.UseXmlSerializer = true; 

那么所有API调用都会受到影响。

我有一个硬编码的XML字符串,我想将其作为响应。我该如何解决这个问题?

来自WEB API解决方案的XMl响应

您必须在api级别使用Сonfiguration.Formatters.XmlFormatter。尝试以下代码

public IHttpActionResult ApiMethod()
{
  ...
  return Content(HttpStatusCode.OK, Model, Configuration.Formatters.XmlFormatter);
}

在操作中编写以下代码:

       Class1 c1 = new Class1();//Your Model class
       var content = new ObjectContent<Class1>(c1,
       GlobalConfiguration.Configuration.Formatters.XmlFormatter);
        return new HttpResponseMessage()
        {
            Content = content
        };