Я сталкнулся со множеством неудобств при использовании rest api, например: последовательный запрос данных которые зависят от других данных и тд и тп, лично мне это усложняло разработку фронтенда моего spa приложения на vue. GraphQL удалось пощупать совсем немного, причём с использованием Bitrix Framework. Так что в настало время раcкурить эту тему совместно с Laravel.
В этой статье я расскажу как установить Lighthouse и Laravel GraphQL Playground в свой проект на Laravel.
GraphQL — это язык запросов для API, который обеспечивает определенные преимущества по сравнению с альтернативными архитектурами, такими как REST.
GraphQL чрезвычайно удобен, когда используется в качестве конечной точки для мобильных и одностраничных приложений. Он позволяет с относительной легкостью запрашивать вложенные и связанные данные в запросе, что позволяет разработчикам получать именно те данные, которые им нужны, за одно обращение на сервер.
Сперва установите свежую версию Laravel. На момент написания статьи я использовал версию 7.
Для начала установим Lighthouse в свой проект с помощью composer.
composer require nuwave/lighthouse
Далее опубликуем дефолтную схему.
php artisan vendor:publish --provider="Nuwave\Lighthouse\LighthouseServiceProvider" --tag=lighthouse-schema
Схема будет расположена тут graphql/schema.graphql.
Далее публикуем файл конфигурации Lighthouse.
php artisan vendor:publish --provider="Nuwave\Lighthouse\LighthouseServiceProvider" --tag=lighthouse-config
Файл кофигурации появится тут config/lighthouse.php.
Теперь очередь дошла до Laravel GraphQL Playground.
Laravel GraphQL Playground - это удобный веб-интерфейс для отправки запросов к GraphQL.
Устанавливаем с помощью composer.
composer require mll-lab/laravel-graphql-playground
Всё, после установки, веб-интерфейс будет доступен по адресу <app-domen>/graphql-playground.
На этом установка закончена. В следующих статьях разберём подробно как сделать первые шаги к созданию бэкенда приложения с использованием GraphQL.
{{ item.text }}