JSON 轉 GraphQL

本地處理
app.graphql.view

也可透過 #data={"name":"Ada"}#url=... 灌入資料,讀完即從位址列清除。

由一份 JSON 示例推斷 GraphQL 型別。除錯 GraphQL 響應或給 mock 服務起草稿時,比從零手寫 type 更快。物件會拆成命名 type,陣列對應列表。

標量推斷

字串、數字、布林會對應到 GraphQL 標量。巢狀物件再拆成獨立 type,避免全部攤成 JSON。

null 和混合型別需要你確認生成結果是否該用聯合型別。

巢狀 type

物件會拆成命名型別,陣列對應列表。深層結構會生成多個 type 塊,可直接貼進 schema 檔案當草稿。

欄位是否可空( ! )請按業務補全。

當起點

生成後請補 ! 必填、列舉和自定義標量。本頁沒有 query / mutation 根操作。

REST 團隊若只要 JSON 契約,用 Schema 頁更合適。

示例

示例 JSON
{
  "user": {
    "id": "u_1",
    "name": "Ada"
  }
}
可能得到的型別草稿
type User {
  id: String
  name: String
}

type Root {
  user: User
}
這是完整的 GraphQL schema 嗎?

只是從資料形狀推出來的 type,沒有 query / mutation。

和 JSON Schema 怎麼選?

REST 文件常用 Schema;GraphQL 服務用本頁更順。

欄位名合法嗎?

會盡量生成可用識別符號。奇怪的鍵名請手工改成 GraphQL 允許的欄位名。

會上傳示例嗎?

不會。推斷在瀏覽器裡完成。

推薦工作流

  1. 從 GraphQL playground 或日誌裡複製一份典型響應。
  2. 生成 type,檢查巢狀是否拆開、列表是否正確。
  3. 補必填、列舉、自定義標量,再寫入服務端 schema。
  4. 需要 REST 文件時改用 JSON Schema 頁。

一份響應推不出完整圖。mutation 入參、介面分頁約定仍需手寫。