您好,登錄后才能下訂單哦!
本篇文章為大家展示了.NET Core WebAPI如何集成Swagger做接口管理,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
什么是Swagger?
Swagger 是一個(gè)規(guī)范且完整的框架,用于生成、描述、調(diào)用和可視化 RESTful 風(fēng)格的 Web 服務(wù)。
Swagger 的目標(biāo)是對 REST API 定義一個(gè)標(biāo)準(zhǔn)且和語言無關(guān)的接口,可以讓人和計(jì)算機(jī)擁有無須訪問源碼、文檔或網(wǎng)絡(luò)流量監(jiān)測就可以發(fā)現(xiàn)和理解服務(wù)的能力。當(dāng)通過 Swagger 進(jìn)行正確定義,用戶可以理解遠(yuǎn)程服務(wù)并使用最少實(shí)現(xiàn)邏輯與遠(yuǎn)程服務(wù)進(jìn)行交互。與為底層編程所實(shí)現(xiàn)的接口類似,Swagger 消除了調(diào)用服務(wù)時(shí)可能會有的猜測。
Swagger 有什么優(yōu)勢?
支持 API 自動生成同步的在線文檔:使用 Swagger 后可以直接通過代碼生成文檔,不再需要自己手動編寫接口文檔了,對程序員來說非常方便,可以節(jié)約寫文檔的時(shí)間去學(xué)習(xí)新技術(shù)。
提供 Web 頁面在線測試 API:光有文檔還不夠,Swagger 生成的文檔還支持在線測試。參數(shù)和格式都定好了,直接在界面上輸入?yún)?shù)對應(yīng)的值即可在線測試接口。
在.NET Core中如何使用Swagger?
(1)準(zhǔn)備工作
創(chuàng)建一個(gè).NET Core WebApi 項(xiàng)目
創(chuàng)建一個(gè)Model類庫
(2)在項(xiàng)目中引入Swagger
在WebApi項(xiàng)目中執(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項(xiàng)目API文檔", TermsOfService = "None", Contact = new Swashbuckle.AspNetCore.Swagger.Contact { Name = "XXX項(xiàng)目", 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"); //如果需要顯示控制器注釋只需將第二個(gè)參數(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)運(yùn)行后進(jìn)入/swagger目錄 即可查看Swagger已經(jīng)啟用
問題匯總:
(1)如果需要將WebApi的默認(rèn)啟動頁設(shè)為Swagger則在Properties中
(2)在這里大家會發(fā)現(xiàn)運(yùn)行后接口的注釋并沒有顯示,我們需要配置注釋XML文件
在WebAPI項(xiàng)目上點(diǎn)擊右鍵-》屬性-》生成-》XML文檔文件
另外切記此處代碼第二個(gè)參數(shù)需要設(shè)置為True,否則將不顯示控制器級別的注釋,只顯示接口注釋
(3)如果大家會發(fā)現(xiàn)有了許多警告,強(qiáng)迫癥患者看這里,我們只需要在生成中強(qiáng)制過濾1591的警告即可
上述內(nèi)容就是.NET Core WebAPI如何集成Swagger做接口管理,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。