本篇文章為大家展示了.NET Core WebAPI如何集成Swagger做接口管理,內(nèi)容簡明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
創(chuàng)新互聯(lián)專注于鐵山企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城網(wǎng)站制作。鐵山網(wǎng)站建設(shè)公司,為鐵山等地區(qū)提供建站服務(wù)。全流程按需定制網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
什么是Swagger?
Swagger 是一個(gè)規(guī)范且完整的框架,用于生成、描述、調(diào)用和可視化 RESTful 風(fēng)格的 Web 服務(wù)。
Swagger 的目標(biāo)是對(duì) 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í)可能會(huì)有的猜測。
Swagger 有什么優(yōu)勢?
支持 API 自動(dòng)生成同步的在線文檔:使用 Swagger 后可以直接通過代碼生成文檔,不再需要自己手動(dòng)編寫接口文檔了,對(duì)程序員來說非常方便,可以節(jié)約寫文檔的時(shí)間去學(xué)習(xí)新技術(shù)。
提供 Web 頁面在線測試 API:光有文檔還不夠,Swagger 生成的文檔還支持在線測試。參數(shù)和格式都定好了,直接在界面上輸入?yún)?shù)對(duì)應(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)啟動(dòng)頁設(shè)為Swagger則在Properties中
(2)在這里大家會(huì)發(fā)現(xiàn)運(yùn)行后接口的注釋并沒有顯示,我們需要配置注釋XML文件
在WebAPI項(xiàng)目上點(diǎn)擊右鍵-》屬性-》生成-》XML文檔文件
另外切記此處代碼第二個(gè)參數(shù)需要設(shè)置為True,否則將不顯示控制器級(jí)別的注釋,只顯示接口注釋
(3)如果大家會(huì)發(fā)現(xiàn)有了許多警告,強(qiáng)迫癥患者看這里,我們只需要在生成中強(qiáng)制過濾1591的警告即可
上述內(nèi)容就是.NET Core WebAPI如何集成Swagger做接口管理,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。