0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

LaravelでGraphQLサーバーを作成できるLighthouseの解説(導入)

Posted at

GraphQLサーバーを作成することになり、Lighthoseを利用したので備忘録と簡単な解説。
今回は導入編

Lighthouse

公式:https://lighthouse-php.com/
LaravelでGraphQLを利用するためのライブラリ。

導入

  • インストール
composer require nuwave/lighthouse
  • デフォルトスキーマの公開
php artisan vendor:publish --provider="Nuwave\Lighthouse\LighthouseServiceProvider" --tag=schema

作成されるスキーマファイル

graphql/schema.graphql
"A date string with format `Y-m-d`, e.g. `2011-05-23`."
scalar Date @scalar(class: "Nuwave\\Lighthouse\\Schema\\Types\\Scalars\\Date")

"A datetime string with format `Y-m-d H:i:s`, e.g. `2018-05-23 13:43:32`."
scalar DateTime @scalar(class: "Nuwave\\Lighthouse\\Schema\\Types\\Scalars\\DateTime")

"A datetime and timezone string in ISO 8601 format `Y-m-dTH:i:sO`, e.g. `2020-04-20T13:53:12+02:00`."
scalar DateTimeTz @scalar(class: "Nuwave\\Lighthouse\\Schema\\Types\\Scalars\\DateTimeTz")

type Query {
    users: [User!]! @paginate(defaultCount: 10)
    user(id: ID @eq): User @find
}

type User {
    id: ID!
    name: String!
    email: String!
    created_at: DateTime!
    updated_at: DateTime!
}
  • configファイルの作成
php artisan vendor:publish --provider="Nuwave\Lighthouse\LighthouseServiceProvider" --tag=config

上記コマンドで config/lighthouse.php にファイルが作成されます。
エンドポイントの変更とか諸々の設定が可能です。

  • DevTool GraphQL-PlayGround

GraphQLスキーマの確認、クエリを実行できる便利なTool
ちなみにPostman等クライアントツールもGraphQLに対応しています。

composer require --dev mll-lab/laravel-graphql-playground

dockerやlaravelのビルドインサーバーを立ち上げてアプリURL/graphql-playgroundにアクセスすることで利用できます。
スクリーンショット 2020-06-11 15.35.01.png

公式見れば書いてあるすごく薄い内容ですが導入は終わり
次回はlighthouseのディレクティブをまとめたいって思ってます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?