Skip to content

C# MVC Web Api Swagger Installation Settings 安裝設定

Notifications You must be signed in to change notification settings

livinginpurple/SwaggerDemo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SwaggerDemo

C# MVC Web Api Swagger Installation Settings 安裝設定

環境

  • Visual Studio 2015
  • Windows 7
  • .Net Framework 4.6.2

開新專案

若未使用 Application Insights,不勾選。

開新專案

選擇專案類型 (Web API)

選擇 Web API,並使用 No Authentication (若未使用任何認證方式)

選擇專案類型 (Web API)

選擇 No Authentication

專案名稱為:WebApplicationSwagger

WebApplicationSwagger

安裝 Swashbuckle

  1. 透過 Nuget GUI 安裝

Swashbuckle Installation 1

  1. 透過 Package Manager Console 安裝,安裝指令:
Install-Package Swashbuckle

Swashbuckle Installation 2

  1. 安裝前後差異

Swashbuckle Installation 3

  • +Swashbuckle
  • +Swashbuckle.Core
  • +WebActivatorEx
  • Newtonsoft.Json version="7.0.1"

Swashbuckle Installation 4

Api XML 文件設定

預設設定

XML Settings 1

選擇XML文件產出路徑,這邊設定為「bin\WebApplicationSwagger.XML」

XML Settings 2

修改 Property 後,顯示已修改過

XML Settings 3

App_Start\SwaggerConfig.cs 設定

EnableSwagger,設定 XML 路徑 Swagger Settings 1

c.IncludeXmlComments(GetXmlCommentsPath());

路徑設定錯誤,顯示找不到檔案

Swagger Settings 2

Swagger Settings 3

正確路徑:

Swagger Settings 4

        private static string GetXmlCommentsPath()
        {
            return System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"bin\WebApplicationSwagger.XML");
        }

路徑設定正確,顯示 Swagger 頁面

網址為:https://localhost:{Port}/swagger

Swagger Settings 5

EnableSwaggerUi,設定自訂範本 index.html

首頁範本下載

Swagger Settings 6

Swagger Settings 7

正確路徑:

c.CustomAsset("index", typeof(SwaggerConfig).Assembly, "專案名稱.Content.index.html");

Swagger Settings 8

路徑錯誤,顯示找不到 Embedded Resource:

Swagger Settings 9

Swagger Settings 10

設定 Content/index.html Property 為 Embedded Resource

Swagger Settings 11

路徑設定正確

Swagger Settings 12

自訂 Swagger 頁面 Html Title

c.DocumentTitle("My Swagger UI");

Swagger Settings 13

Swagger Settings 14

自訂 Swagger 頁面,預設顯示 API 清單

c.DocExpansion(DocExpansion.List);

Swagger Settings 15

Swagger Settings 16

Reference