玩轉C#之【Swagger 不是SWAG】

by NickChi
Swagger

這是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://ithelp.ithome.com.tw/articles/10287633

You may also like

Leave a Comment