博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c# 调试模式下Swaggerf附加接口参数
阅读量:6359 次
发布时间:2019-06-23

本文共 1305 字,大约阅读时间需要 4 分钟。

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:

 

转载于:https://www.cnblogs.com/94cool/p/9238610.html

你可能感兴趣的文章
Linux下添加新硬盘,分区及挂载
查看>>
Preferences
查看>>
Openfire 用户离线、断线 及心跳检测
查看>>
JAVA反射机制
查看>>
Intent 跳转调用其他软件
查看>>
Android Ftp
查看>>
基于华为防火墙双机热备
查看>>
rsync 只拷贝 同步 指定的文件 filter规则
查看>>
浅谈grep和正则表达式的亲密接触
查看>>
zabbix监控nginx
查看>>
2015年天翊他爹有想法了
查看>>
java基础学习--排序算法
查看>>
我的友情链接
查看>>
阿狸fastjson
查看>>
VMware中使用NAT配置静态IP方式让CentOS6.x共享主机网络
查看>>
tp操作mongodb数据库之简易留言板
查看>>
python代码风格指南:pep8 中文翻译
查看>>
java中static方法加锁
查看>>
JQuery监听页面滚动总结
查看>>
我的友情链接
查看>>