什麼是Swagger?
Swagger 是一個規範且完整的框架,用於生成、描述、調用和可視化 RESTful 風格的 Web 服務。
Swagger 的目標是對 REST API 定義一個標準且和語言無關的接口,可讓人和計算機擁有無須訪問源碼、文檔或網絡流量監測就能夠發現和理解服務的能力。當經過 Swagger 進行正肯定義,用戶能夠理解遠程服務並使用最少實現邏輯與遠程服務進行交互。與爲底層編程所實現的接口相似,Swagger 消除了調用服務時可能會有的猜想。程序員
Swagger 有什麼優點?
支持 API 自動生成同步的在線文檔:使用 Swagger 後能夠直接經過代碼生成文檔,再也不須要本身手動編寫接口文檔了,對程序員來講很是方便,能夠節約寫文檔的時間去學習新技術。
提供 Web 頁面在線測試 API:光有文檔還不夠,Swagger 生成的文檔還支持在線測試。參數和格式都定好了,直接在界面上輸入參數對應的值便可在線測試接口。編程
在.NET Core中如何使用Swagger?
(1)準備工做
建立一個.NET Core WebApi 項目
建立一個Model類庫json
(2)在項目中引入Swagger
在WebApi項目中執行命令:Install-package Swashbuckle.AspNetCore
(3)在StarUp.cs的ConfigureServices中添加代碼
`#region Swagger網絡
services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new Info { Version = "v1.1.0", Title = "Swagger WebAPI", Description = "XXX項目API文檔", TermsOfService = "None", Contact = new Swashbuckle.AspNetCore.Swagger.Contact { Name = "XXX項目", Email = "273145719@qq.com" , Url = "https://www.cnblogs.com/NBIDataVis/" } }); var basePath = Path.GetDirectoryName(typeof(Program).Assembly.Location); //添加接口XML的路徑 var xmlPath = Path.Combine(basePath, "TrySwaggerCore.xml"); //若是須要顯示控制器註釋只需將第二個參數設置爲true c.IncludeXmlComments(xmlPath, true); });
#endregion`app
(4)在StarUp.cs的Configure中添加代碼
`#region Swagger
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "ApiDocument V1");
});框架
(5)運行後進入/swagger目錄 便可查看Swagger已經啓用
學習
問題彙總:
(1)若是須要將WebApi的默認啓動頁設爲Swagger則在Properties中
測試
(2)在這裏你們會發現運行後接口的註釋並無顯示,咱們須要配置註釋XML文件
在WebAPI項目上點擊右鍵-》屬性-》生成-》XML文檔文件
另外切記此處代碼第二個參數須要設置爲True,不然將不顯示控制器級別的註釋,只顯示接口註釋
spa
(3)若是你們會發現有了許多警告,強迫症患者看這裏,咱們只須要在生成中強制過濾1591的警告便可
3d
下一章給你們介紹Swagger的分組功能用法。