zestic/graphql-component

v0.16.1 2024-08-28 02:17 UTC

README

Webonxy 和 Symfony Messenger 之间的桥梁

所有消息都必须扩展 GraphQLMessage

有一个新的自动连接功能,它可能导致您的请求耗时几秒钟。您需要确保已将 ConfigAggregator::ENABLE_CACHE 设置为 true

    ConfigAggregator::ENABLE_CACHE => true,

对于所有未自动连接的内容,可以手动添加。配置

'graphQL'      => [
    'mutations'    => [
        'addEmailToList'   => App\Domain\Message\Mutation\AddEmailToListMessage::class,
        'addEmailToList'                    =>  [
            'bus' => 'messenger.not-default-bus', \\ optional
            'handler' => App\Domain\Handler\Mutation\AddEmailToListHandler::class,
            'message' => App\Domain\Message\Mutation\AddEmailToListMessage::class,
        ],
    ],
    'queries'      => [
        'ping'                    =>  [
            'bus' => 'messenger.not-default-bus', \\ optional
            'handler' => App\Domain\Handler\Query\PingHandler::class,
            'message' => App\Domain\Message\Query\PingMessage::class,
        ],
    ],
    'middleware'   => [
        'allowedHeaders' => [
            'application/graphql',
            'application/json',
        ],
    ],
    'schema'       => App\GraphQL\Schema::class,
];

config.php 中将 ConfigProcess.php 类添加到后处理程序

$postProcessors = [
    \Zestic\GraphQL\ConfigProcessor::class,
];
$aggregator = new ConfigAggregator([
        ...
    ], $cacheConfig['config_cache_path'], $postProcessors); 

return $aggregator->getMergedConfig();

这将连接 Symfony Messenger 中的处理器和消息之间的连接,并为 RequestDispatcher 构建配置