溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

.NET Core WebAPI如何集成Swagger做接口管理

發(fā)布時(shí)間:2021-10-29 09:30:29 來源:億速云 閱讀:143 作者:柒染 欄目:編程語言

本篇文章為大家展示了.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
.NET Core WebAPI如何集成Swagger做接口管理
(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)啟用

.NET Core WebAPI如何集成Swagger做接口管理

.NET Core WebAPI如何集成Swagger做接口管理

問題匯總:
(1)如果需要將WebApi的默認(rèn)啟動頁設(shè)為Swagger則在Properties中
.NET Core WebAPI如何集成Swagger做接口管理

(2)在這里大家會發(fā)現(xiàn)運(yùn)行后接口的注釋并沒有顯示,我們需要配置注釋XML文件
在WebAPI項(xiàng)目上點(diǎn)擊右鍵-》屬性-》生成-》XML文檔文件
.NET Core WebAPI如何集成Swagger做接口管理
另外切記此處代碼第二個(gè)參數(shù)需要設(shè)置為True,否則將不顯示控制器級別的注釋,只顯示接口注釋
.NET Core WebAPI如何集成Swagger做接口管理

(3)如果大家會發(fā)現(xiàn)有了許多警告,強(qiáng)迫癥患者看這里,我們只需要在生成中強(qiáng)制過濾1591的警告即可
.NET Core WebAPI如何集成Swagger做接口管理

上述內(nèi)容就是.NET Core WebAPI如何集成Swagger做接口管理,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(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)容。

AI