有选择地禁用ASP.NET Web API中的XML Formatter

星星

在ASP.NET Web API中,我需要为一种方法强制使用XML输出,但要为其他方法启用JSON格式化程序。我在该主题上看到的所有内容都建议从GlobalConfiguration中删除JSON格式器,如下所示:

// remove JSON formatter
var formatters = GlobalConfiguration.Configuration.Formatters;
formatters.Remove(formatters.JsonFormatter);

这可以工作,但是会禁用整个JSON输出应用程序。我需要能够为特定方法或控制器指定格式化程序,而又不影响全局配置。这是可能的还是只能通过GlobalConfiguration来完成?

保罗·简

Microsoft为此目的引入了每个控制器的配置需要将功能划分为不同的控制器,但希望对于您的特定目标不会有太多麻烦(甚至可能会有所改进)。

基本上,这是您的工作:

  1. 设置一般情况下的基本JSON格式
  2. 为XML方法引入特定的Controller,并为其指定特定的配置:

[XMLControllerConfig]
public class XMLController: ApiController
{
    [HttpGet]
    public string SomeMethod(string someArgument)
    {
        return "abc";
    }
}

...

class XMLControllerConfigAttribute: Attribute, IControllerConfiguration
{
    public void Initialize(HttpControllerSettings controllerSettings, 
                           HttpControllerDescriptor controllerDescriptor)
    {
        controllerSettings.Formatters.Clear();
        controllerSettings.Formatters.Add(new XMLFormatter());
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在ASP.NET Core 3.0 Web API项目中使用WebApiContrib.Core.Formatter.Csv

来自分类Dev

ASP.NET WEB API 中的xml序列化

来自分类Dev

Web API中的ASP.NET身份

来自分类Dev

我可以在web.config中禁用asp.net Web API路由吗?

来自分类Dev

ASP.NET Core 1.0 Web API不返回XML

来自分类Dev

ASP.Net Web API Xml Searization问题

来自分类Dev

从ASP .NET Core Web API方法返回完整的XML响应

来自分类Dev

如何从ASP.NET Web API读取XML?

来自分类Dev

ASP.Net Web API Xml泛化问题

来自分类Dev

Rest Web Api XML 绑定 - Asp.Net MVC

来自分类Dev

缓存Asp .Net Web API

来自分类Dev

有选择地禁用.NET Framework版本

来自分类Dev

如何全局禁用ASP.NET Web窗体中的缓存

来自分类Dev

在ASP.NET Web Api中请求“外来” Api

来自分类Dev

.net Web API响应json封装在xml中

来自分类Dev

如何在ASP.NET Web API 2中使用log4net布局模式有条件地捕获用户名?

来自分类Dev

禁用ASP.NET Web API 2中的* all *异常处理(为我自己腾出空间)?

来自分类Dev

ASP.NET Web API 2中的StructureMap,而没有对System.Web.Mvc的引用

来自分类Dev

ASP.NET Web API 2中的StructureMap,而没有对System.Web.Mvc的引用

来自分类Dev

Mono中Asp.NET Web API中的访问会话

来自分类Dev

如何使ASP.NET WEB API帮助页面Xml文档注释具有新行

来自分类Dev

ASP.NET Web Api中的自定义ParameterBindingAttribute

来自分类Dev

在ASP.NET MVC Web Api中返回Json

来自分类Dev

如何在ASP.NET Web API中接收JSON?

来自分类Dev

ASP.NET 5中的Web API身份验证

来自分类Dev

ASP.NET Web API中的参数绑定

来自分类Dev

在ASP.NET Web API中添加额外的get方法

来自分类Dev

Asp.Net Web Api中HttpGet和HttpPost的区别

来自分类Dev

在ASP.NET Web API请求中检测额外的字段

Related 相关文章

热门标签

归档