• c# 调试模式下Swaggerf附加接口参数


    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:

  • 相关阅读:
    html和css基础
    Chrome的插件使用
    04
    03
    MySQL的下载与安装(超完整)
    IDEA运行单元测试报错:java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing
    IDEA 快捷键合集
    IDEA + Spring的安装以及入门案例创建(超详细)
    Java NullPointerException异常的原因
    Eclipse 显示 错误:找不到或无法加载主类
  • 原文地址:https://www.cnblogs.com/94cool/p/9238610.html
Copyright © 2020-2023  润新知