ASP.NET WebAPI 使用Swagger線上介面文件
阿新 • • 發佈:2018-12-24
關於 Swagger
Swagger能成為最受歡迎的REST APIs文件生成工具之一,有以下幾個原因:
- Swagger 可以生成一個具有互動性的API控制檯,開發者可以用來快速學習和嘗試API。
- Swagger 可以生成客戶端SDK程式碼用於各種不同的平臺上的實現。
- Swagger 檔案可以在許多不同的平臺上從程式碼註釋中自動生成。
- Swagger 有一個強大的社群,裡面有許多強悍的貢獻者。
Swagger 文件提供了一個方法,使我們可以用指定的 JSON 或者 YAML 摘要來描述你的 API,包括了比如 names、order 等 API 資訊。
你可以通過一個文字編輯器來編輯 Swagger 檔案,或者你也可以從你的程式碼註釋中自動生成。各種工具都可以使用 Swagger 檔案來生成互動的 API 文件。
建立Swagger組建
1、首先,建立WebApi的專案檔案;
2、工具》Nuget包管理器》管理解決方案的Nuget程式包;
3、搜尋Swagger,安裝Swashbuckle和Swagger-Net、Swagger-Net-Ui包;
4、安裝完之後選擇專案,右鍵》屬性》生成》輸出-XML文件檔案 勾選儲存
5、執行專案 地址輸入swagger\ui\index
我們發現swagger程式集報錯
解決方案:
發生上述錯誤,請在,SwaggerNet類中,註釋類上面的兩行,就會執行成功
6、註釋配置
執行專案之後,我們發現在專案寫的註釋並沒有在swagger頁面上面展示,所以我們現在開開啟註釋;
在SwaggerConfig類中,EnableSwagger的時候新增下面XML解析
using System.Web.Http; using WebActivatorEx; using DianshiStandard.Web; using Swashbuckle.Application; [assembly: PreApplicationStartMethod(typeof(SwaggerConfig), "Register")] namespace DianshiStandard.Web { public class SwaggerConfig { public static void Register() { var thisAssembly = typeof(SwaggerConfig).Assembly; GlobalConfiguration.Configuration .EnableSwagger(c => { c.SingleApiVersion("v1", "DianshiStandard.Web"); //新增XML解析 c.IncludeXmlComments(GetXmlCommentsPath()); }) .EnableSwaggerUi(c => { }); } //新增XML解析 private static string GetXmlCommentsPath() { return string.Format("{0}/bin/DianshiStandard.Web.XML", System.AppDomain.CurrentDomain.BaseDirectory); } } }
注意,該路徑為步驟4時新增的XML文件檔案路徑