zoukankan      html  css  js  c++  java
  • 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:

  • 相关阅读:
    USACO 2019 January Contest Platinum T2: Exercise Route
    USACO 2016 December Contest Gold T3: Lasers and Mirrors
    USACO 2016 December Contest Gold T2: Cow Checklist
    USACO 2016 December Contest Gold T1: Moocast
    USACO 2016 US Open Contest Gold T3: 248
    洛谷p5369[PKUSC2018]最大前缀和
    洛谷p5465 [PKUSC2018]星际穿越
    洛谷p3778[APIO2017]商旅
    NOIP2018提高组题解
    NOIP2017提高组题解
  • 原文地址:https://www.cnblogs.com/94cool/p/9238610.html
Copyright © 2011-2022 走看看