本篇文章為大家展示了.NET Core WebAPI如何集成Swagger做接口管理,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計、做網(wǎng)站服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)新絳免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了近千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。什么是Swagger?
Swagger 是一個規(guī)范且完整的框架,用于生成、描述、調(diào)用和可視化 RESTful 風(fēng)格的 Web 服務(wù)。
Swagger 的目標(biāo)是對 REST API 定義一個標(biāo)準(zhǔn)且和語言無關(guān)的接口,可以讓人和計算機擁有無須訪問源碼、文檔或網(wǎng)絡(luò)流量監(jiān)測就可以發(fā)現(xiàn)和理解服務(wù)的能力。當(dāng)通過 Swagger 進行正確定義,用戶可以理解遠(yuǎn)程服務(wù)并使用最少實現(xiàn)邏輯與遠(yuǎn)程服務(wù)進行交互。與為底層編程所實現(xiàn)的接口類似,Swagger 消除了調(diào)用服務(wù)時可能會有的猜測。
Swagger 有什么優(yōu)勢?
支持 API 自動生成同步的在線文檔:使用 Swagger 后可以直接通過代碼生成文檔,不再需要自己手動編寫接口文檔了,對程序員來說非常方便,可以節(jié)約寫文檔的時間去學(xué)習(xí)新技術(shù)。
提供 Web 頁面在線測試 API:光有文檔還不夠,Swagger 生成的文檔還支持在線測試。參數(shù)和格式都定好了,直接在界面上輸入?yún)?shù)對應(yīng)的值即可在線測試接口。
在.NET Core中如何使用Swagger?
(1)準(zhǔn)備工作
創(chuàng)建一個.NET Core WebApi 項目
創(chuàng)建一個Model類庫
(2)在項目中引入Swagger
在WebApi項目中執(zhí)行命令: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"); //如果需要顯示控制器注釋只需將第二個參數(shù)設(shè)置為true c.IncludeXmlComments(xmlPath, true); }); #endregion
(4)在StarUp.cs的Configure中添加代碼
#region Swagger app.UseSwagger(); app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "ApiDocument V1"); }); #endregion
(5)運行后進入/swagger目錄 即可查看Swagger已經(jīng)啟用
問題匯總:
(1)如果需要將WebApi的默認(rèn)啟動頁設(shè)為Swagger則在Properties中
(2)在這里大家會發(fā)現(xiàn)運行后接口的注釋并沒有顯示,我們需要配置注釋XML文件
在WebAPI項目上點擊右鍵-》屬性-》生成-》XML文檔文件
另外切記此處代碼第二個參數(shù)需要設(shè)置為True,否則將不顯示控制器級別的注釋,只顯示接口注釋
(3)如果大家會發(fā)現(xiàn)有了許多警告,強迫癥患者看這里,我們只需要在生成中強制過濾1591的警告即可
上述內(nèi)容就是.NET Core WebAPI如何集成Swagger做接口管理,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。