mll-lab / laravel-graphql-voyager
轻松将 GraphQL Voyager 集成到您的 Laravel 项目中
Requires
- php: ^7.4 || ^8
- illuminate/console: ^8 || ^9 || ^10 || ^11
- illuminate/contracts: ^8 || ^9 || ^10 || ^11
- illuminate/support: ^8 || ^9 || ^10 || ^11
- thecodingmachine/safe: ^1 || ^2
Requires (Dev)
- ergebnis/composer-normalize: ^2
- laravel/lumen-framework: ^8 || ^9 || ^10 || ^11
- mll-lab/php-cs-fixer-config: ^5
- nunomaduro/larastan: ^0.7 || ^1 || ^2
- orchestra/testbench: ^6 || ^7 || ^8 || ^9
- phpstan/extension-installer: ^1
- thecodingmachine/phpstan-safe-rule: ^1
README
轻松将GraphQL Voyager集成到您的 Laravel 项目中。
请注意:这不是一个 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 的路由,请在配置文件中添加自定义中间件。