zoukankan      html  css  js  c++  java
  • swagger简单使用 (.netcore)

    1. 添加Swashbuckle.AspNetCore
    2. startup   ConfigureServices添加Swagger配置
      1. 此步骤之前先右键站点点击属性在生成面板设置
      2. 取消显示警告添加;1591     这个是取消vs的注释提醒
      3. 输出板块勾选 XML文档文件选项    
            #region Swagger
                    services.AddSwaggerGen(c =>
                    {
                        c.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo() { Title = "数据服务API", Version = "v1" });
         c.DocumentFilter<SwaggerIgnoreFilter>();
        var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";//开启xml注释 var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile); c.IncludeXmlComments(xmlPath); }); #endregion
    3. startup  Configure 添加swagger配置
        #region Swagger
                  app.UseSwagger();
      
                  app.UseSwaggerUI(c =>
                  {
                      c.SwaggerEndpoint("/swagger/v1/swagger.json", "数据服务API");
                      c.RoutePrefix = "doc"; //路由前缀
                  });
                  #endregion
    4. 标记为ApiController 标签的页面配置好Route后就能自动生成文档了
    5. 最终访问地址http://localhost:8066/doc/index.html
    6. 一些扩展过滤不需要显示的接口
      using Microsoft.OpenApi.Models;
      using Swashbuckle.AspNetCore.SwaggerGen;
      using System.Collections.Generic;
      using System.Linq;
      
      namespace BBSS.Basic.Host
      {
      
          /// <summary>
          /// 隐藏不需要显示的接口
          /// </summary>
          public class SwaggerIgnoreFilter : IDocumentFilter
          {
              public void Apply(OpenApiDocument swaggerDoc, DocumentFilterContext context)
              {
                  var startRoutes = new List<string> { "v1/client", "v1/token" };
                  var ignoreApis = context.ApiDescriptions.Where(wh => !startRoutes.Any(r => wh.RelativePath.ToLower().StartsWith(r)));
                  if (ignoreApis != null)
                  {
                      foreach (var ignoreApi in ignoreApis)
                      {
                          swaggerDoc.Paths.Remove("/" + ignoreApi.RelativePath);
                      }
                  }
              }
          }
      }
  • 相关阅读:
    centos 7 安装Telnet并设为开机自启动、开防火墙端口
    cenos 7 中firewalld开放服务端口
    来自鸟哥的lftp客户端软件使用方法
    关闭Linux无用端口
    家用路由器网络设置DMZ区
    Linux中退出循环命令
    shell函数基本概念
    inode节点用尽处理
    xfs格式化、ext4格式化并指定inode区别
    dd备份命令使用
  • 原文地址:https://www.cnblogs.com/chongyao/p/12212889.html
Copyright © 2011-2022 走看看