mll-lab/laravel-graphql-voyager

轻松将 GraphQL Voyager 集成到您的 Laravel 项目中

v2.3.0 2024-04-24 12:32 UTC

This package is auto-updated.

Last update: 2024-08-24 13:13:57 UTC


README

轻松将GraphQL Voyager集成到您的 Laravel 项目中。

Continuous Integration PHPStan

GitHub license Packagist Packagist

voyager demo

请注意:这不是一个 GraphQL 服务器实现,而是一个用于探索您模式的 UI。对于服务器组件,我们建议使用nuwave/lighthouse

安装

composer require mll-lab/laravel-graphql-voyager

如果您使用 Lumen,请在 bootstrap/app.php 中注册服务提供者

$app->register(MLL\GraphQLVoyager\GraphQLVoyagerServiceProvider::class);

配置

默认情况下,GraphQL Voyager 可在 /graphql-voyager 访问,并假设有一个运行中的 GraphQL 端点在 /graphql

要更改默认值,使用以下命令发布配置

php artisan vendor:publish --tag=graphql-voyager-config

您可以在 config/graphql-voyager.php 找到配置文件。

如果您使用 Lumen,请手动将其复制到该位置,并在 boostrap/app.php 中加载配置

$app->configure('graphql-voyager');

自定义

要进一步自定义 GraphQL Voyager,请发布视图

php artisan vendor:publish --tag=graphql-voyager-view

您可以使用它进行各种自定义。

更改 GraphQL Voyager 实例的设置

请参阅https://github.com/APIs-guru/graphql-voyager#properties 了解允许的配置选项。您可以在调用 GraphQLVoyager.init() 的已发布视图中更改它们,例如

    GraphQLVoyager.init(document.getElementById('voyager'), {
+       someOption: 'some-value',
    });

本地资源

如果您想从自己的服务器提供资源,可以使用以下命令下载它们

php artisan graphql-voyager:download-assets

这会将必要的 CSS、JS 和 Favicon 放入您的 public 目录。如果您已下载资源,它们将替代来自 CDN 的在线版本。

安全性

如果您不想在生产环境中启用 GraphQL Voyager,可以在配置文件中禁用它。最简单的方法是设置环境变量 GRAPHQL_VOYAGER_ENABLED=false

要保护 GraphQL Voyager 的路由,请在配置文件中添加自定义中间件。