前提 https://github.com/BenSampo/laravel-enum https://github.com/nuwave/lighthouse https://lighthouse-php.com 上記のライブラリはインストール済み 環境 PHP 8.0.2 Laravel 8.34.0 nuwave/lighthouse 5.3.0 bensampo/laravel-enum 3.3.0 PHP8.1から言語標準機能としてenumがサポートされるので、今後ライブラリが不要になるかもしれません。 それまではまだしばらくは使われそうなので残します。 LighthouseのEnum型 https://lighthouse-php.com/5.3/the-basics/types.html#enum 公式ドキュメントに書いてある通り、Lighthouseは BenSampo/l
前回に引き続き、LaravelにおけるGraphQL+Lighthouseの実装方法を紹介していきます。 ぜひ、GraphQL+Lighthouse(+Laravel)でAPI開発1(インストール方法・設定編)もご覧ください。 方針 前回のエントリでも記述しておりますが、今回は既存のシステムに途中からGraphQLでAPIを実装することになりました。また、Laravelのアプリケーション実装自体も旧システムの方針を引き継ぎ実装されたため、ORMの恩恵をあまり受けられないDBの設計となってしまっています。 そのため、今回はEloquentを用いない方針でGraphQLのサーバーサイド側を実装していくことにします。 またGraphQLにはQuery、Mutationと2種類のメソッドがありますが、今回はQueryの実装メインの紹介です。 1. スキーマの定義 前回のエントリでroutes/gr
これを進めます。 英語のためGoogle翻訳して進めます。 (わかりやすい和訳できる方の編集リクエスト歓迎です🙇♂️) 環境 PHP 7.4.5 Composer 1.10.5 Laravel 7.10.3 Lighthouse 4.12.4 MySQL 8.0.19 使用するパッケージ 完成版のソースコード What is GraphQL? GraphQLは、APIのクエリ言語であり、既存のデータでこれらのクエリを実行するためのランタイムです。 GraphQLは、API内のデータの完全で理解可能な説明を提供し、クライアントに必要なものだけを正確に要求する力を与え、APIを長期間にわたって容易に進化させ、強力な開発者ツールを有効にします。 GraphQLは仕様としてのみリリースされています。 http://spec.graphql.org GraphQLには、APIのスキーマを定義する
セットアップ 1. インストール $ composer require nuwave/lighthouse 2.デフォルトスキーマ生成 $ php artisan vendor:publish --provider="Nuwave\Lighthouse\LighthouseServiceProvider" --tag=schema デフォルトで生成されるスキーマは以下のようになりました。 # graphql/schema.graphql "A datetime string with format `Y-m-d H:i:s`, e.g. `2018-01-01 13:00:00`." scalar DateTime @scalar(class: "Nuwave\\Lighthouse\\Schema\\Types\\Scalars\\DateTime") "A date string wi
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く