ASP .NET CORE優雅地使用Swagger 並生成介面文件
阿新 • • 發佈:2022-05-09
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文件工具