ASP.NET WEBAPI 使用Swagger生成API文檔


一、安裝

新建一個沒有身份驗證的mvc項目 - SwaggerMvc5Demo,然后添加一個名為Remote(自定義)且包含基礎讀寫(不想手寫)的ApiController
 
使用以下方法來添加 Swashbuckle:
  • 從“程序包管理器控制台”窗口:Install-Package Swashbuckle -Version 5.6.0
  • 從“管理 NuGet 程序包”對話框中:
    • 右鍵單擊“解決方案資源管理器” > “管理 NuGet 包”中的項目
    • 將“包源”設置為“nuget.org”
    • 在搜索框中輸入“Swashbuckle”
    • 從“瀏覽”選項卡中選擇“Swashbuckle”包,然后單擊“安裝”
 

二、配置

1.項目屬性->勾選生成xml文檔文件
2.添加導航鏈接
在_Layout.cshtml文件中添加代碼
<li>@Html.ActionLink("Swagger Help", "", "Swagger", new { area = "" }, null)</li>
3.修改SwaggerConfig.cs文件
 安裝完成后,在文件夾App_Start自動生成一個配置文件 swagger.config。這里可以做多版本控制,定義擴展功能,自定義顯示ui的樣式腳本,可以配置過濾、權限等。
例如:
(1)為接口添加xml注釋
string path = string.Format("{0}/bin/SwaggerMvc5Demo.XML", System.AppDomain.CurrentDomain.BaseDirectory);
c.IncludeXmlComments(path);
使用前
使用后
(2)使用特性 [Obsolete]
在config中 開啟 c.IgnoreObsoleteProperties();
 
 
 
 

三、調用

1.直接調用
只要輸入參數id,即可調用,非常方便
2.AutoRest
AutoRest ( https://github.com/Azure/AutoRest), 簡單來說,就是一個EXE工具,可以根據Swagger的結構生成服務的客戶端,這個客戶端可以讓你像調用本地方法一樣調用服務,方法內部包裝了Http請求。 
 
擴展:ABP集成swagger
 
 

四、錯誤記錄

swagger出現問題:not supported by swagger 2.0

一個controller中只能有一個HttpGet請求,多了就會報錯。建議減少重載方法,將其他Get方法分開

如果在swagger.config中加上c.ResolveConflictingActions(apiDescriptions => apiDescriptions.FirstOrDefault());則會只顯示第一個get方法 

原文:https://blog.csdn.net/jin80506/article/details/77737470

 
 
參考文章:
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM