天天看點

.netcore3.1——應用文檔元件Swagger

Swagger可以讓我們更多的關注業務和代碼實作,而不是天天改接口文檔!!!   

(目前.net5中已經将該元件預設內建到webapi中,項目建立後作為首頁展現)

1、Nuget引用:

.netcore3.1——應用文檔元件Swagger
.netcore3.1——應用文檔元件Swagger
2、ConfigureServices添加服務: 

1 //注冊Swagger
 2 services.AddSwaggerGen(c =>
 3 {
 4     c.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo
 5     {
 6         Version = "v1",
 7         Title = "api文檔",
 8         Description = "這是一個基于.net core的web API",
 9         Contact = new Microsoft.OpenApi.Models.OpenApiContact
10         {
11             Name = "這裡是姓名",
12             Email = "這裡是郵箱",
13             Url = new Uri("http://www.qufuyun.com")
14         },
15         License = new Microsoft.OpenApi.Models.OpenApiLicense
16         {
17             Name = "這裡是許可證名字"
18         }
19     });
20     // 為 Swagger JSON and UI設定xml文檔注釋路徑-----
21     // 擷取應用程式所在目錄(絕對,不受工作目錄影響,建議采用此方法擷取路徑)
22     var basePath = Path.GetDirectoryName(typeof(Program).Assembly.Location);
23     var xmlPath = Path.Combine(basePath, "ProjectTracker.NetCore.WebUI.xml");
24     c.IncludeXmlComments(xmlPath);
25 });      

這裡添加了引用xml文檔,可以更友好的展現api,需要設定一下項目屬性:

.netcore3.1——應用文檔元件Swagger

(添加取消警告代碼是因為勾選了xml文檔後若不顯示添加說明會一直提示)

3、設定請求管道Configure:

1 // 啟用Swagger中間件
2 app.UseSwagger();
3 // 配置SwaggerUI
4 app.UseSwaggerUI(c =>
5 {
6     c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
7 });      

4、配置已經完成了,可以浏覽效果:

.netcore3.1——應用文檔元件Swagger

Github(Swagger):https://github.com/domaindrivendev/Swashbuckle.AspNetCore

微軟文檔也有簡單案例:https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/getting-started-with-swashbuckle?view=aspnetcore-3.1&tabs=visual-studio

作者:屈魯奇

出處:https://www.cnblogs.com/quluqi

聯系:[email protected] QQ:496195435

本文版權歸作者和部落格園共有,歡迎轉載,但必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接。如有問題或建議,請多多賜教,非常感謝。