本文主要參考:Using Swagger with ASP.net Core
1.創建WebApi項目
本文使用ASP.Net Core Web API項目模板演示Swagger到使用,首先創建Web Api項目。
通過Nuget安裝Swashbuckle.AspnetCore
也可以通過指令
Install-Package Swashbuckle.AspNetCore
2.Swagger配置
配置ConfigureServices
1 public void ConfigureServices(IServiceCollection services) 2 { 3 services.AddMvc(); 4 services.AddSwaggerGen(swagger => 5 { 6 swagger.SwaggerDoc("v1", new Swashbuckle.AspNetCore.Swagger.Info { Title = "Swagger Demo" }); 7 }); 8 }
配置Configure
1 public void Configure(IApplicationBuilder app, IHostingEnvironment env) 2 { 3 app.UseHttpsRedirection(); 4 app.UseMvc(); 5 6 app.UseSwagger(); 7 app.UseSwaggerUI(c => 8 { 9 c.SwaggerEndpoint("/swagger/v1/swagger.json", "Swagger Demo"); 10 }); 11 }
配置文件輸出
3.運行代碼
https://localhost:[port]/swagger/index.html
4.異常
4.1看不到swagger頁面
則添加引用 Microsoft.AspNetCore.StaticFiles
4.2Failed to load API definition
解決方法:一定是某個接口沒有添加【HttpGet】或者【HttpPost】聲明。
參考:https://stackoverflow.com/questions/50209122/swashbuckle-swagger-asp-net-core-failed-to-load-api-definition