JSON 轉 OpenAPI Schema
貼上 JSON 就能產生 OpenAPI 的元件 schema。
物件與陣列會轉為含必填欄位的 JSON Schema,混合的陣列則以 oneOf 表示。
所有處理都在瀏覽器完成,不會將資料傳送到伺服器。
JSON 轉 OpenAPI Schema 產生器
將 JSON 範例轉成 OpenAPI schema,用於 request、response 與 components.schemas 文件化。可以快速建立 schema 初稿,減少手動撰寫每個 property 的時間。
適合使用的情境
- 文件化 endpoint:從實際回應開始建立 schema。
- 整理 API 合約:檢查型別、required 欄位與巢狀結構。
- 準備 Swagger 文件:快速產生 OpenAPI schema 草稿。
format、enum、optional field、array 限制等細節仍需要人工確認。
這個工具的相關文章
JSON 轉 OpenAPI Schema 的原理|支援 Swagger 的免費線上工具
說明 JSON 如何被轉換成 OpenAPI 3.1 的 components 結構定義。涵蓋型別推導規則、陣列型別混雜時如何轉成 oneOf、日期字串的自動偵測,以及生成後該檢查什麼。
JSON 格式化與驗證:安全檢查 API 回應的方法
了解如何格式化 JSON、找出語法錯誤、確認值的型別,並將 API 回應延伸成 TypeScript 型別、Zod Schema 或 OpenAPI 文件。
JSON 生態系統入門:用實例串起格式化、型別生成、驗證與 API 定義
以一個 API 回應為例,用實際程式碼串起格式化、TypeScript 型別、Zod 執行期驗證與 OpenAPI 定義,讓你看清型別安全 API 開發的全貌。
JSON Schema 與 Zod 雙向轉換的原理|required 與 .optional() 的對應
解析雙向轉換器的實作:把 JSON Schema 轉成 Zod 結構定義,也把 Zod 程式碼轉回 JSON Schema。內容涵蓋 required 與 .optional() 預設值相反的陷阱、限制條件對照表,以及不執行程式碼就完成剖析的做法。
最新文章
curl 選項速查|-X、-H、-d 實際做了什麼與常見陷阱
整理實務上會遇到的 curl 選項:為什麼加了 -d 就已經是 POST、-d 與 --data-raw 的差別、開頭的 @ 會悄悄讀取檔案的陷阱、單引號與雙引號的取捨,以及為什麼 -k 和 -L 值得多想一下。
JSON Schema 與 Zod 雙向轉換的原理|required 與 .optional() 的對應
解析雙向轉換器的實作:把 JSON Schema 轉成 Zod 結構定義,也把 Zod 程式碼轉回 JSON Schema。內容涵蓋 required 與 .optional() 預設值相反的陷阱、限制條件對照表,以及不執行程式碼就完成剖析的做法。
SQL 子句執行順序參考|為什麼 WHERE 看不到 SELECT 的別名
SQL 並不是照您撰寫的順序執行。以邏輯執行順序(FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT)為主軸,說明別名為何在 WHERE 無法使用、WHERE 與 HAVING 的分工、ONLY_FULL_GROUP_BY、COUNT(*) 與 COUNT(欄位) 的差異,以及 LEFT JOIN 搭配 WHERE 的陷阱。
unified diff 格式閱讀指南|看懂 git diff 的 @@ 標頭
說明如何閱讀 git 產生的 unified diff 格式:@@ -12,7 +12,9 @@ 四個數字的意義、只改一個字元為何顯示成整行替換、空白與換行字元的陷阱、\ No newline at end of file、合併提交的 @@@ 組合式 diff,以及以 similarity index 推斷檔案更名。
UTC⇄JST 換算參考手冊|9小時時差對照表與時區踩雷指南
以對照表整理 UTC 與日本時間(JST)的換算,並說明與台灣時間(UTC+8)相差 1 小時的關係。內容涵蓋 ISO 8601 的 Z 與 +09:00、JavaScript 日期解析悄悄位移 9 小時的條件、MySQL/PostgreSQL 的時區行為,以及 GitHub Actions cron 一律以 UTC 執行的陷阱。
CREATE TABLE 參考手冊|MySQL、PostgreSQL、SQLite 的型別與約束差異
以跨資料庫對照表整理 CREATE TABLE(DDL)的寫法:型別對應表、自動編號(AUTO_INCREMENT / IDENTITY / rowid)的方言差異、外鍵的 ON DELETE 行為,以及 MySQL 會靜默忽略的 CHECK 約束。