広告が嫌いですか? 行く 広告なし 今日

JSONをGraphQL型定義に変換する生成器

データ開発者文章

ガイド

JSONからGraphQL型定義生成器

JSONをGraphQL型定義に変換する生成器

任意のJSONオブジェクトまたは配列を貼り付け、すぐにGraphQLスキーマ定義言語(SDL)ドキュメントを受信します。生成器はJSONツリーを走査し、スケーラー型を推定し、ネストされたオブジェクトを名前付けて、配列-of-オブジェクトのバリエーションを統合し、オプションのルートタイプを出力します。 Query typeを出力することで、結果はApollo、Yoga、Mercurius、またはgraphql-goのようなサーバーに直接投入できるようになります。

決定論的なJSONからGraphQL SDLコンバーターの重要性

手動でサンプルペイロードからGraphQL型を書くことは、機械的ではあるが誤りを生みやすいです。1つのnullのミス、不一致 Int vs Float、またはリスト要素の非nullマーカーを忘れることで、すべてのダウンストリームクライアントのコード生成が破綻します。ルールに基づいた生成器は、同じJSONサンプルを常に同じように処理し、APIの変更時に再生成しても安全です。

使用方法

  1. 入力ボックスにJSONオブジェクトまたは配列を貼り付け、または 例を試してみてください。 をクリックして代表的なペイロードを読み込みます。
  2. [名前]を設定してください ルートタイプ名 他のものではなく Root.
  3. [ブラウザのchrome]を選択し、 フィールドのnull可能性 戦略 – 必須フィールドに対して厳密(!)またはプロトタイピング用にすべてのnull可能性。
  4. トグル IDの検出 を自動的に id*Id キーをGraphQL ID スケーラーに昇格させる。
  5. オプションでルート Query タイプを含める。単一エンティティとリストエンティティフィールドを含む。
  6. SDLをコピーまたは schema.graphql.

機能

  • スケーラー推定 – 決定論的に区別する。 String, Int, Float, Booleanと、 ID ネストされたオブジェクトタイプ
  • – フィールドキーからPascalCaseを使用して、すべてのネストされたオブジェクトに別名のタイプを生成する。 オブジェクトの配列の統合
  • – 配列内のすべての項目にフィールドを統合し、オプションフィールドを適切にマークする。 null可能性と非null可能性の切り替え
  • – 严格的な マーカーを出力するか、プロトタイピングのためにすべてをnull可能性に緩和する。 ! 自動ID検出
  • – styleキーを にアップグレードする。 id, userId, orderId ルートクエリのフレームワーク ID スケーラーに昇格させる。
  • – シングルおよびリストリゾルバー署名を含むオプション。 – あなたのJSONはブラウザに留まっているため、センシティブなペイロードでも安全です。 type Query { ... } 型推定ルール
  • クライアントサイドのみ 整数は

にマップされ、小数部分を持つ数値は

  • にマップされます。フィールドが両方として見られる場合、 Intにプロモートされます。 Float文字列は Float.
  • にマップされます。ID検出が有効な場合、キーが Stringまたは id で終わる場合は Id になります。 ID.
  • ブール値は Boolean.
  • null にマップされ、値がnullである場合、フィールドをnull可能性としてマークし、生成されたSDLは末尾の !.
  • をスキップします。 [String] 空の配列は
  • にデフォルトされます。なぜなら、安全に推定できる要素型が存在しないからです。

オブジェクトの配列は1つの名前付きタイプに統合され、すべての要素に欠落するフィールドは自動的にnull可能性になります。

  • 誰がそれを使用していますか?
  • バックエンドエンジニアがRESTエンドポイントまたはJSONファイルをGraphQLゲートウェイにラップする場合。
  • フロントエンド開発者がAPIが準備される前に、フィクスチャーペイロードを使ってスキーマをプロトタイピングする場合。
  • API設計者が第三者の応答形状をタイプ付き契約として記述する場合。

よくある質問

  1. コード生成パイプラインが安定したJSONサンプルから再現可能なSDLアーテファクトを必要とする場合。

    GraphQL SDLとは?

  2. スキーマ定義言語(SDL)は、APIが公開する型、フィールド、クエリ、およびミューテーションを記述するGraphQLのテキストベースの構文です。type、scalar、enum、inputなどのキーワードを使用して、サーバーが返すデータの形状とクライアントが呼び出す操作の形状を宣言します。

    なぜGraphQLは!(非null)マーカーを使用するのですか?

  3. タイプの後にエクスクラメーションマークをつけることで、フィールドがnullになることは決してないことを宣言します。これにより、クライアントはnullチェックの防御コードをスキップでき、サーバーが必須値が欠落している場合に即座にエラーを返すことができます。そうでなければ、GraphQLはすべてのフィールドをデフォルトでnull可能性として扱います。

    フィールドがIDスケーラーを使用すべき場合とStringを使用すべき場合をどう判断しますか?

  4. IDスケーラーは、オブジェクトを再取得またはキャッシュするために使用される暗号化識別子(主キー、UUID、スラグ、外キー)に予約されています。これは文字列としてシリアル化されますが、識別性を示すため、ApolloやRelayなどのクライアントが正常なキャッシュを構築できるようにします。

    SDLでオブジェクトのリストは、[Order!]!のように書かれます。内側の!はリスト内の各要素が非nullであることを意味し、外側の!はリスト自体が非nullであることを意味します。JSONサンプルから正しい要素型を推定するには、配列内のすべての項目にフィールドの形状を統合する必要があります。

広告なしで楽しみたいですか? 今すぐ広告なしで

拡張機能をインストールする

お気に入りのブラウザにIOツールを追加して、すぐにアクセスし、検索を高速化します。

に追加 Chrome拡張機能 に追加 エッジ拡張 に追加 Firefox 拡張機能 に追加 Opera 拡張機能

スコアボードが到着しました!

スコアボード ゲームを追跡する楽しい方法です。すべてのデータはブラウザに保存されます。さらに多くの機能がまもなく登場します!

ニュースコーナー 技術ハイライト付き

参加する

価値ある無料ツールの提供を継続するためにご協力ください

コーヒーを買って