日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Swagger扩展为你添油加气

發(fā)布時(shí)間:2023/12/4 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Swagger扩展为你添油加气 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

關(guān)注架構(gòu)師高級(jí)俱樂(lè)部

開(kāi)啟架構(gòu)之路

不定期福利發(fā)放哦~

Leon

讀完需要

4

分鐘

速讀僅需 2 分鐘

介紹一款Swagger擴(kuò)展

日常接口開(kāi)發(fā)中都需要用到Swagger來(lái)生成接口文檔并用 Swagger 自帶支持的模擬請(qǐng)求進(jìn)行測(cè)試,但是需要支持認(rèn)證或者上傳文件等操作需要自行去按接口進(jìn)行開(kāi)發(fā)才可支持,現(xiàn)在介紹一款封裝了 Swagger 的中間件來(lái)避免一些繁瑣的操作即可支持常用功能

1

? ?

如何使用

  • 安裝 NetPro.Swagger

執(zhí)行以下命令或者 Nuget 包管理器中搜索安裝最新版

Install-Package NetPro.Swagger ?-Version 3.1.6
  • Swagger 注入

public void ConfigureServices(IServiceCollection services,IConfiguration configuration) { services.AddNetProSwagger(configuration); } public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { app.UseNetProSwagger(); }

?

  • 輸出 XML 文檔

相關(guān)類(lèi)庫(kù) csproj 工程文件中加入以下配置

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <DocumentationFile>bin\Debug\netcoreapp3.1\程序集名稱(chēng).xml</DocumentationFile> </PropertyGroup>

運(yùn)行沒(méi)有任何反應(yīng),這時(shí)候需要在 appsetting.json 配置文件中加入相關(guān)配置

"SwaggerOption": { "Enable": true,//是否開(kāi)啟Swagger "RoutePrefix": "swagger", "Description": "this is swagger for netcore", "Title": "Demo swagger", "Version": "first version", "TermsOfService": "netcore.com", "Contact": { "Email": "swagger@netcore.com", "Name": "swagger", "Url": "swagger@netcore.com" }, "License": { "Name": "", "Url": "" } ? ?}

再次執(zhí)行dotnet run 命令運(yùn)行,可以看見(jiàn)右上角默認(rèn)支持認(rèn)證,點(diǎn)擊輸入 jwt 即可

2

? ?

支持功能

2.1

? ?

暗黑主題

SwaggerOption 配置節(jié)點(diǎn)中增加 IsDarkTheme 等于 true 即可

"IsDarkTheme": true,

2.2

? ?

文件上傳按鈕

請(qǐng)求參數(shù)類(lèi)型為 IFormFile,Swagger 會(huì)自動(dòng)識(shí)別為為其添加文件按鈕

/// <summary>/// 單文件/// </summary>public IFormFile File { get; set; }

2.3

? ?

添加公共 Url 參數(shù)

一般接口會(huì)有一些公共參數(shù),但一般接口內(nèi)部不會(huì)用到,例如簽名參數(shù),就沒(méi)必要每個(gè)請(qǐng)求實(shí)體都包含這些業(yè)務(wù)接口不使用的參數(shù),可以通過(guò)以下節(jié)點(diǎn)添加 swagger 公共參數(shù)還不污染請(qǐng)求實(shí)體

"Query": [ //swagger默認(rèn)url公共參數(shù) { "Name": "sign", "Description": "簽名" }, { "Name": "timestamp", "Description": "客戶(hù)端時(shí)間戳" } ]

2.4

? ?

添加公共頭參數(shù)

添加以下配置節(jié)點(diǎn)即可把公共參數(shù)添加進(jìn) swagger 頭信息

"Headers": [ //swagger默認(rèn)頭參數(shù) { "Name": "User", "Description": "用戶(hù)" } ],

就是這么簡(jiǎn)單,swagger功能都通過(guò)appsetting.json配置即可。

此庫(kù)只是NetPro項(xiàng)目下的一個(gè)擴(kuò)展功能,其中還包括很多其他常用組件與開(kāi)箱即用打包所有組件的NetPro.Web.Api組件更加方便容易的開(kāi)發(fā)Api接口

項(xiàng)目地址:

https://github.com/LeonKou/NetPro https://github.com/LeonKou/NetPro.Swagger

github

總結(jié)

以上是生活随笔為你收集整理的Swagger扩展为你添油加气的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。