iT邦幫忙

2022 iThome 鐵人賽

DAY 4
0
Software Development

玩轉C# 進階學習之旅系列 第 4

玩轉C#之【Swagger 不是SWAG】

  • 分享至 

  • xImage
  •  

這是Swagger的Logo

這是SWAG的Logo

大家要小心不要Google錯了

介紹

Swagger是SmartBear Software的API開發人員套件工具,它是OpenAPI規範的基礎規範。

簡單來說就是 API 文件產生器

在微軟的C#中有兩種Swagger的套件可以使用

  • Swashbuckle
  • NSwag

安裝方式

環境:ASP.NET6
NET6 目前如果用WebAPI專案範本會自動安裝好Swashbuckle

Swashbuckle

Swashbuckle 有三個主要套件:

  • Swashbuckle.AspNetCore.SwaggerGen:產生器是負責取得 API 的規格並產生
  • Swashbuckle.AspNetCore.Swagger: 讀取SwaggerGen產生的規格讓URL可以查看
  • Swashbuckle.AspNetCore.SwaggerUI:設定Swagger UI介面用

在Program.cs檔案中需要註冊AddSwaggerGen,並且在Middleware下加入

app.UseSwagger();
app.UseSwaggerUI();

GitHub範例

NSwag

需要安裝的套件
NSwag.AspNetCore

在Program.cs檔案中需要註冊AddOpenApiDocument();,並且在Middleware下加入

    app.UseOpenApi();       // serve OpenAPI/Swagger documents
    app.UseSwaggerUi3();    // serve Swagger UI
    app.UseReDoc();         // serve ReDoc UI

GitHub範例
關於設定註解、回傳格式、回傳型別、Authorize Token、設定API版本之後會專門寫一篇文章跟大家講解

參考資料

Swagger 官方網站
微軟 Swagger文件

本篇已同步發表至個人部落格
https://moushih.com/2022ithome04/


上一篇
玩轉C#之【POSTMAN-API測試神器】
下一篇
玩轉C#之【Hangfire】
系列文
玩轉C# 進階學習之旅31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言