一直以來都是用 NSwag 來產生 OpenAPI Client & Server Code,但它所產生出來的 Client Code 會 throw Exception,這讓我在商業流程的控制需要額外付出一些心力,為了解決這問題,我會額外再墊一層,最近逛到有人分享 Refit 這個套件,它所產生出來的具名 Method 不會拋出例外,讓我可以根據 HttpStatusCode + Error Content 控制商業流程。
[ASP.NET Core 6] 讓你的 ASP.NET Core Web API + Swashbuckle.AspNetCore 支援多個版本
一旦 Web API 部署並開始使用後,它應該是可靠的,並且不應該因任何原因而中斷。另一方面,隨著需求的變化,我們需要更新 Web API 代碼,但這應該不破壞目前 API 的情況下完成,因此新舊版本的 Web API 都將處於活動狀態,功能也要正常。這時候就要靠 Web API 版本控制,我們靠它用於處理不同版本的Web API。微軟的 Microsoft.AspNetCore.Mvc.Versioning 可以讓我們輕易的完成此項目,但我在整合到 Swagger UI / Swashbuckle.AspNetCore 的時候碰到了一些關卡,所幸順利的解決了,以下是我的實作筆記。
[ASP.NET Core 6] 通過 Swashbuckle.AspNetCore 編寫 Web API 的 Swagger 文件
前幾年編寫了 [Swagger] 一些 Swagger 編寫文件的技巧和 Client Code Gen ,不過,已經不適用 ASP.NET Core 6,正好,團隊正在重視 API 文件,正好趁這機會更新 Swashbuckle.AspNetCore 使用
[NSwag] Swagger UI + JWT Authentication 訪問受保護的 Web API
之前有寫過用 Web API 2 整合 JWT [ASP.NET Web API] 實作 System.IdentityModel.Tokens.Jwt 進行身分驗證,到了 ASP.NET Core 之後,用法沒有太大變化,不過我個人認為驗證的注入設定可讀性變的更高了...
[NSwag] Swagger UI + Basic Authentication 訪問受保護的 Web API
ASP.NET Core 預設似乎沒有提供 Basic Authentication 的 DI,但仍然可以自行實作 AuthenticationHandler
[NSwag] 如何在 ASP.NET Core 3.1 和 Web API 2 使用 NSwag
我在 .NET 用過 Swashbuckle(已停止更新)、Swagger-NET(fork Swashbuckle),在 .NET Core,已經不適用了,同時支援 ASP.NET Core 及 OWIN Middleware,通吃 .NET Framework 與 .NET Core 版本的 WebAPI,該是時候準備換掉了...
[Swagger] 檔案上傳與下載
原本一直在使用的 Swashbuckle 原來已經不更新,讓下載檔案的功能不正常,改用 Swagger-Net 就可以解決這個問題囉
[Swagger] 使用 OAuth2 - Resource Owner Password / Implicit flow 測試受保護的 Web API
OAuth2 是目前大廠都有支援的一種授權機制, Swagger 也有支援,我將使用 Resource Owner Password / Implicit flow + Identity Framework 來進行演練。
[Swagger] 一些 Swagger 編寫文件的技巧和 Client Code Gen
前面幾篇寫了使用 Swagger 的方式,這篇記錄一下編寫文件的技巧以及支援 Client Code Gen 幾種方式
[Swagger] 使用 Api_Key + JWT 測試受保護的 Web API
Swagger UI 上方有一個 api_key,這次我要利用他加上 JWT 來驗證
- 1
- 2