JSON を GraphQL に変換

ローカル処理
app.graphql.view

次の方法でも #data={"name":"Ada"} または #url=... データを流し込めます。読み取り後はアドレスバーから削除されます。

使い方

1つの JSON サンプルから GraphQL 型を推論します。GraphQL レスポンスのデバッグや mock サービスの下書きは、type をゼロから書くより速いです。オブジェクトは名前付き type に分かれ、配列はリストになります。

スカラー推論

文字列、数値、真偽値は GraphQL スカラーに対応します。入れ子オブジェクトは独立 type に分け、すべて JSON に潰しません。

null と混合型は、生成結果をユニオン型にすべきか確認してください。

入れ子 type

オブジェクトは名前付き型に分かれ、配列はリストになります。深い構造では複数の type ブロックが生成され、schema ファイルへ下書きとして貼れます。

フィールドが null 許容か( ! )は業務に合わせて補ってください。

出発点として

生成後は ! 必須、列挙、カスタムスカラーを足してください。このページに 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 ページへ切り替えてください。

1つのレスポンスでは完全なグラフは出ません。mutation の入力やページング取り決めは手書きが必要です。