x-graphql / field-middleware
在解析字段前后添加自定义逻辑
0.2.0
2024-03-29 09:41 UTC
Requires
- php: >=8.2
- webonyx/graphql-php: ^15.9
Requires (Dev)
- phpunit/phpunit: ^11.0
- symplify/easy-coding-standard: ^12.1
README
在解析字段前后添加自定义逻辑
入门
通过Composer安装此包
composer require x-graphql/field-middleware
用法
创建您的第一个中间件
use GraphQL\Type\Definition\ResolveInfo; use GraphQL\Type\Schema; use XGraphQL\FieldMiddleware\MiddlewareInterface; class MyMiddleware implements MiddlewareInterface { public function resolve(mixed $value, array $arguments, mixed $context, ResolveInfo $info, callable $next) : mixed { $firstName = $next($value, $arguments, $context, $info); return $firstName . ' Doe'; } }
然后让此中间件应用于模式
use GraphQL\GraphQL; use GraphQL\Type\Definition\ObjectType; use GraphQL\Type\Definition\Type; use GraphQL\Type\Schema; use XGraphQL\FieldMiddleware\FieldMiddleware; $schema = new Schema([ 'query' => new ObjectType([ 'name' => 'Query', 'fields' => [ 'name' => Type::string() ], ]), ]); FieldMiddleware::apply($schema, [new MyMiddleware()]); $result = GraphQL::executeQuery($schema, '{ name }', ['name' => 'John']); var_dump($result->toArray());
致谢
由Minh Vuong创建