c# 调试模式下Swaggerf附加接口参数,如:每个接口Header中附加参数appId

1、新增过滤器:

public class GlobalHttpHeaderFilter : IOperationFilter
    {        
        public void Apply(Operation operation, SchemaRegistry schemaRegistry, ApiDescription apiDescription)
        {
            if (operation.parameters == null)
                operation.parameters = new List<Parameter>();            
            operation.parameters.Add(new Parameter { name = "appId", @in = "header", description = "应用ID", required = true, type = "string" });
        }
    }

2、WebAPIConfig 配置Swagger过滤器:

            if (System.Diagnostics.Debugger.IsAttached) //调试模式
            {
                _config.EnableSwagger(c =>
                {
                    c.SingleApiVersion("v1", $"{name}的API文档");
                    c.IncludeXmlComments($@"{AppDomain.CurrentDomain.BaseDirectory}\{name}.XML");
                    c.OperationFilter<GlobalHttpHeaderFilter>();
                }).EnableSwaggerUi();
            }

3、控制器:

public class DemoAPIController : ApiController
{
        Logger log;
        /// <summary>
        /// 
        /// </summary>
        /// <param name="log"></param>
        public DemoAPIController(Logger log)
        {
            this.log = log;
        }
        /// <summary>
        /// 获取数据
        /// </summary>
        /// <returns>数据</returns>
        public string Get()
        {
    IEnumerable<string> values = null;
            if (controller.Request.Headers != null && controller.Request.Headers.TryGetValues(name, out values) && values != null && values.Count() > 0)
            {
                var appId =  values.FirstOrDefault();
            }
            return "demo";
        }

}

4、Swagger:

c# 调试模式下Swaggerf附加接口参数的更多相关文章

  1. win10 下visual studio 2015 在调试模式下不能跟踪源文件

    win10 下visual studio 2015 在调试模式下不能跟踪源文件,只要一调试就会关闭(隐藏)打开的文档,非常不方便.经过一番折腾,发现是配置的问题. 如果安装多个版本的VS,请删除对应版 ...

  2. 教你50招提升ASP.NET性能(十一):避免在调试模式下运行网站

    (17)Avoid running sites in debug mode 招数17: 避免在调试模式下运行网站 When it comes to ASP.NET, one of the most c ...

  3. F12调试模式下使用console自动提交

    F12调试模式下使用console自动提交(F12 的console->输入代码->按enter即可运行) 1.使用定时器setInterval进行自动提交 //方法中可使用jquery调 ...

  4. 解决VS2008之后平台(如VS2012/VS2013/VS2015)调试模式下不显示主界面窗口的问题

    问题描述:win10操作系统下,VS2008工程调试模式下正常显示主界面窗口,使用VS2012/VS2013/VS2015环境打开VS2008工程,调试模式下应用程序转为后台进程,不显示主界面窗口:另 ...

  5. C#设置代码只在调试模式下执行

    获取一个值,它指示调试器是否已附加到进程. 命名空间:Namespace:System.Diagnostics if (Debugger.IsAttached) { Response.Write(&q ...

  6. 关于IE调试模式下才能显示效果

    要去除console.log() 低版本IE 没有开启调试模式  console.log()会导致报错

  7. win8商店应用验证,二进制文件是在调试模式下生成的解决方案。

    程序是在release模式下生成的,并且arm和x64通过了验证,但是x86就出现了这个奇葩问题. 搞了半天发现是要把“优化代码”的选项勾上.

  8. Python入门(一):PTVS写Python程序,调试模式下input()提示文字乱码问题

    前两天写了Python入门(一),里面提到,使用VS2013+PTVS进行Python开发. 就在准备为第二篇写个demo的时候,发现了一个问题,各种解决无果,有些纠结 Python中输入函数是inp ...

  9. Myeclipse调试模式下自动提示变量值设置

    1.Window->Preferences->Java->Editor->Hovers 将[Variable Values]选择即可,如果第一个[Combined Hover] ...

随机推荐

  1. RabbitMQ 内存控制 硬盘控制

    RabbitMQ服务器在启动时以及abbitmqctl set_vm_memory_high_watermark fraction 执行时,会检查计算机的RAM总大小. 默认情况下下, 当 Rabbi ...

  2. tomcat运行模式

    Tomcat Connector的三种不同的运行模式性能相差很大 这三种模式的不同之处如下: BIO: 一个线程处理一个请求.缺点:并发量高时,线程数较多,浪费资源. Tomcat7或以下,在Linu ...

  3. Underdetermined system Constraint counting Overdetermined system

    https://en.wikipedia.org/wiki/Underdetermined_system https://en.wikipedia.org/wiki/Constraint_counti ...

  4. lua--openresty--

    lua-openresty---docker-- https://blog.csdn.net/boling_cavalry/article/details/79290944 lua-practice ...

  5. [daily] 使用左右对比查看diff 格式的文件

    如题: Given your references to Vim in the question, I'm not sure if this is the answer you want :) but ...

  6. Dom4j中getStringValue()和getText()用法的区别

    这两个方法都是获取文本的,区别是: getText()-----获取当前节点的文本内容,如果当前节点下是一个element元素,那返回的就是null. getStringValue------获取当前 ...

  7. 《HTTP - 基于http的认证》

    推荐一首歌 - 好吧,今天刚入职第二天,也没听歌. 哈哈哈哈. 1:何为认证? - 其实这个问题就比较宽泛了,总的来说,就是你有证明你身份的标识. - 和人类社会一样,你花了钱想看一场场演唱会,但是谁 ...

  8. python全栈开发day12

    列表 创建列表: 基本操作: 索引 切片 追加 删除 长度 切片 循环 包含 #######################列表list类中提供的方法######################## ...

  9. (4.22)Microsoft 管理控制台启用 SSL 加密的 SQL Server 实例

    如何通过使用 Microsoft 管理控制台启用 SSL 加密的 SQL Server 实例 关键词:MSSQL加密,sql server加密,sql server客户端与服务器传输内容加密 转自:h ...

  10. 前端 HTML body标签相关内容 常用标签 表单标签 form 表单控件分类

    表单控件分类 input标签: input标签 type属性的text,password,button按钮,submit按钮 input标签placeholder属性 标签上显示内容 input标签 ...