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:

  • 相关阅读:
    使用 VSCode 编写 .NET Core 项目之初体验
    Apache自带 ab压测工具 Windows配置使用说明
    HTTP 错误 401.3
    Knockout学习,添加模板,事件,Mouseover,mouseout
    QQ空间、新浪微博、腾讯微博等一键分享API链接代码
    Session["Write"] = "Write";
    那一年,不堪回首的毕业设计
    iis 发布asp.net mvc 网站时候js css 压缩问题,图片不加载问题
    nopcommerce
    HttpWebRequest抓取网页内容与直接输入URL得到的内容不一致!球大神帮忙!!
  • 原文地址:https://www.cnblogs.com/94cool/p/9238610.html
Copyright © 2011-2022 走看看