首页 > Web开发 > 详细

swagger简单使用 (.netcore)

时间:2020-01-19 12:00:55      阅读:95      评论:0      收藏:0      [点我收藏+]
  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);
                    }
                }
            }
        }
    }

     

swagger简单使用 (.netcore)

原文:https://www.cnblogs.com/chongyao/p/12212889.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!