Laravel GraphQL Playground 使用教程
项目介绍
Laravel GraphQL Playground 是一个用于在 Laravel 项目中集成 GraphQL Playground 的工具。GraphQL Playground 是一个交互式的 GraphQL 开发环境,可以帮助开发者更方便地测试和探索 GraphQL 查询。
该项目已经被标记为弃用,推荐使用 mll-lab/laravel-graphiql 作为替代。
项目快速启动
安装
首先,通过 Composer 安装 Laravel GraphQL Playground:
composer require mll-lab/laravel-graphql-playground
配置
如果你使用的是 Laravel,安装后不需要额外配置。如果你使用的是 Lumen,需要在 bootstrap/app.php
中注册服务提供者:
$app->register(MLL\GraphQLPlayground\GraphQLPlaygroundServiceProvider::class);
发布配置文件
为了自定义配置,可以发布配置文件:
php artisan vendor:publish --tag=graphql-playground-config
这将生成 config/graphql-playground.php
配置文件。
访问 Playground
默认情况下,GraphQL Playground 可以通过 /graphql-playground
路径访问,假设你的 GraphQL 端点在 /graphql
。
应用案例和最佳实践
自定义 Playground 设置
你可以通过发布视图文件来自定义 Playground 的设置:
php artisan vendor:publish --tag=graphql-playground-view
在发布的视图中,你可以修改 Playground 的初始化设置:
GraphQLPlayground.init(document.getElementById('root'), {
endpoint: "[[ url(config('graphql-playground.endpoint')) ]]",
subscriptionEndpoint: "[[ config('graphql-playground.subscriptionEndpoint') ]]"
// 其他设置请参考 https://github.com/graphql/graphql-playground#properties
})
配置 HTTPS 和代理
如果你的应用位于一个使用 HTTPS 的代理后面,确保生成的 URL 使用 https://
。可以通过配置 TrustProxies
中间件来解决:
use Symfony\Component\HttpFoundation\Request;
Request::HEADER_X_FORWARDED_FOR
典型生态项目
推荐替代项目
由于 Laravel GraphQL Playground 已被弃用,推荐使用 mll-lab/laravel-graphiql 作为替代。
相关项目
- nuwave/lighthouse: 一个用于 Laravel 的 GraphQL 服务器实现。
- graphql/graphql-playground: GraphQL Playground 的官方项目,提供交互式开发环境。
通过这些工具和项目的结合使用,可以构建一个完整的 GraphQL 开发和测试环境。