コンテンツにスキップ

Lighthouseへの移行

このセクションは、既存のAPIプロジェクトをLighthouseに移行する方法についてのアドバイスを説明します。

スキーマ定義

Lighthouseを始めるために最も重要なことは、GraphQLスキーマ定義言語を使用して記述されたスキーマです。

すでに別のライブラリを使ったのサーバーが稼働している場合は、イントロスペクションを使用してスキーマを取得し、ファイルに保存できます。

また、一般的に便利な簡易ツールとして、graphql-cliがあります。

npm install -g graphql-cli
graphql init
graphql get-schema --endpoint=example.com/graphql --output=schema.graphql

これまでプログラムのコードで行っていた型定義は、ほとんどスキーマから推測できます。ですが時には、追加のアノテーションやPHPの実装が必要な場合もあります。 型の定義方法

リゾルバのしくみ

Folkloreatelier/laravel-graphqlrebing/laravel-graphqlや、その他webonyx/graphql-phpをベースにしたライブラリから移行しようとする場合、既存のコードの多くを再利用することができるはずです。

また、Lighthouseの型のレジストリに既存の型を登録することができ、そうするとSDLで書き直す必要はありません: PHP のネイティブ型を使用する

リゾルバ関数は、同じ共通のシグネチャを共有します。そのため、クエリ/ミューテーション用に書いたロジックを再利用することができるはずです。

Lighthouseは、基本的なCRUD操作など、多くの共通タスクを簡素化します。

リレーションシップのイーガーローディング, ページネーションバリデーション