(精華)2020年7月1日 ASP.NET Core Swagger的使用(Swashbuckle工具版)

愚公搬程式碼發表於2020-07-01

首先安裝包

Install-Package Swashbuckle.AspNetCore
public void ConfigureServices(IServiceCollection services)
{
   services.AddSwaggerGen(c =>
   {
       c.SwaggerDoc("v1", new OpenApiInfo
       {
           Version = "v1.0.0",
           Title = "介面文件"
       });
       // 這裡是給Swagger新增JWT認證                                                 
       c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme
       {
           Scheme = "bearer",
           BearerFormat = "JWT",
           Type = SecuritySchemeType.Http,
           Name = "Authorization",
           In = ParameterLocation.Header,
           Description = "Authorization:Bearer {your JWT token}<br/><b>授權地址:/Base_Manage/Home/SubmitLogin</b>",
       });
       c.AddSecurityRequirement(new OpenApiSecurityRequirement
       {
               {
                   new OpenApiSecurityScheme
                   {
                       Reference = new OpenApiReference
                       {
                           Type = ReferenceType.SecurityScheme,
                           Id = "Bearer"
                       }
                   },
                   new string[] { }
               }
       });
       // 為 Swagger JSON and UI設定xml文件註釋路徑
       //獲取應用程式所在目錄(絕對,不受工作目錄影響,建議採用此方法獲取路徑)
       var basePath = Path.GetDirectoryName(typeof(Program).Assembly.Location);
       var xmls = Directory.GetFiles(basePath, "*.xml");
       xmls.ForEach(aXml =>
       {
           c.IncludeXmlComments(aXml);
       });
   });
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
   app.UseSwagger()
   .UseSwaggerUI(c =>
   {
       c.SwaggerEndpoint("/swagger/v1/swagger.json", "1.0.0");
       c.RoutePrefix = string.Empty;
   })
}

點選程式->屬性
在這裡插入圖片描述
在這裡插入圖片描述

相關文章