1. 程式人生 > 其它 >ASP .NET CORE優雅地使用Swagger 並生成介面文件

ASP .NET CORE優雅地使用Swagger 並生成介面文件

1.生成文件檔案
注意:所有介面引用到的類庫都要生成否則會註釋不全

2.讓Swagger載入文件檔案


static List<string> XmlCommentsFilePath
{
    get
    {
        var basePath = PlatformServices.Default.Application.ApplicationBasePath;
        DirectoryInfo d = new DirectoryInfo(basePath);
        FileInfo[] files = d.GetFiles("*.xml");
        var xmls = files.Select(a => Path.Combine(basePath, a.FullName)).ToList();
        return xmls;
    }
}




public static class SwaggerGenSetUp
    {
        /// <summary>
        /// Swagger註釋
        /// </summary>
        /// <param name="services"></param>
        public static void AddSwaggerGenSetUp(this IServiceCollection services)
        {
            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new OpenApiInfo { Title = "北向介面呼叫示例", Version = "v1" });

                var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.XML";
                var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
                //讓swagger載入所有的xml 文件檔案****
                 foreach (var item in XmlCommentsFilePath)
                 {
                    c.IncludeXmlComments(item);
                 }

            });

            services.AddScoped<SwaggerGenerator>();
        }
    }

3.載入swagger設定


//swagger設定
builder.Services.AddSwaggerGenSetUp();

4.將swagger.json轉換成word文件

使用json轉doc文件工具

https://tools.kalvinbg.cn/dev/swagger2word