Swagger扩展为你添油加气
關(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.6Swagger 注入
?
輸出 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)題。
- 上一篇: ASP.NET Core 3.x启动时运
- 下一篇: 大揭秘| 我司项目组Gitlab Flo