1. 程式人生 > >ASP.NET WebAPI 使用Swagger線上介面文件

ASP.NET WebAPI 使用Swagger線上介面文件

關於 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文件檔案路徑