.NET Core WebAPI集成Swagger作接口管理

什麼是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
image.png
(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");
});框架

endregion`

(5)運行後進入/swagger目錄 便可查看Swagger已經啓用
image.png
image.png學習

問題彙總:
(1)若是須要將WebApi的默認啓動頁設爲Swagger則在Properties中
image.png測試

(2)在這裏你們會發現運行後接口的註釋並無顯示,咱們須要配置註釋XML文件
在WebAPI項目上點擊右鍵-》屬性-》生成-》XML文檔文件
image.png
另外切記此處代碼第二個參數須要設置爲True,不然將不顯示控制器級別的註釋,只顯示接口註釋
image.pngspa

(3)若是你們會發現有了許多警告,強迫症患者看這裏,咱們只須要在生成中強制過濾1591的警告便可
image.png3d

下一章給你們介紹Swagger的分組功能用法。

相關文章
相關標籤/搜索