.Net Core Project 從零開始 — Create Web API with Swagger

William Liu
4 min readJan 4, 2020

--

在介接上提供Web API給外部其他系統使用是很常見的,通常會搭配Swagger 套件來使用,一方面有Swagger UI 清楚簡潔的畫面方便測試使用,另一方面會產生Swagger Json簡易規格文件。

Step1: Add .net core Application

and choose API type

Step2: Install Swashbuckle package

套件的兼容性建議

這邊使用的是.net core 2.1版本,所以選擇 verson 5.00-rc5的版本

use .NET CLI

dotnet add package Swashbuckle.AspNetCore --version 5.0.0-rc5

Step3: 在Startup.cs的ConfigureServices方法中,註冊Swagger generator

services.AddSwaggerGen(c =>{c.SwaggerDoc("v1", new OpenApiInfo { Title = "William API", Version = "v1" });});

Step4:在Startup.cs的Configure方法中,加入 middleware來動態生成 Swagger 的JSON文件。

app.UseSwagger();

PS. swagger.json文件的路徑會依照註冊c.SwaggerDoc的設定動態產生,目前設定產生的路徑為../swagger/v1/swagger.json

Last Step:在Startup.cs的Configure方法中,加入 SwaggerUI的middleware這邊要指向 Swagger 的JSON文件才能動態以swagger.json文件生成畫面。

app.UseSwaggerUI(c =>{c.SwaggerEndpoint("/swagger/v1/swagger.json", "William API V1");});

*開始建置專案

UseSwaggerUI 將Swagger Json文件轉換後的畫面 (預設URL: http://localhost:20383/swagger/)

UseSwagger Middle 動態生成的Json文件 (預設URL: http://localhost:20383/swagger/v1/swagger.json)

Json Parser後的結構示意圖

Conclusion: 透過這次實作建立Web API的專案並且套用Swagger讓畫面更簡潔易使用測試,並且了解在.net core上Swagger套件的運作與設定。

.Net Core Project GitHub:Link

Thanks for your reading.

參考文章

Swashbuckle.AspNetCore

使用 Swagger/OpenAPI 的 ASP.NET Core Web API 說明頁面

--

--