0length/graphql-client

适用于Laravel的优质且最小的Graphql HTTP客户端。

v2.0.1.8-stable 2024-02-22 07:46 UTC

This package is auto-updated.

Last update: 2024-09-22 09:13:30 UTC


README

Graphql-Client是一个用于Laravel的Graphql客户端包,您可以使用它来消费Graphql API。

如何使用

此包通过Composer安装。要安装,只需将其添加到您的composer.json文件中

{
    "require": {
        "0length/graphql-client": "^2.0"
    }
}

然后运行composer来更新依赖关系 composer update

然后在您的Laravel配置文件config/app.php中的$providers数组中添加此包的服务提供者。

\Zerolength\Graphql\GraphqlServiceProvider::class

在控制台中运行以生成配置文件

php artisan vendor:publish --tag=config

最后,按照以下示例添加您的graphql服务器端点URL和头部选项

GRAPHQL_WORKSPACE="http://127.0.0.1:4001/graphql"
GRAPHQL_HEADERS="Authorization: App keyxxx,Header2: value"

示例查询类创建

<?php

namespace App\Graphql\Queries;

use Zerolength\Graphql\Entities\GraphqlQueries;
use App\Models\User;

class CSQueries extends GraphqlQueries
{


    /**
     * Generate privately subscription session key for User.
     */
    public function createSession(User $user)
    {
        $this->setPayload(
            __FUNCTION__,
            [
                'data' => $user
            ],
            '
                query ' . __FUNCTION__ . 'Operation($data: SessionDataInput!){
                    ' . __FUNCTION__ . '(data: $data)
                }
            '
        );
        return $this->execute();
    }
}

示例查询类调用/使用

$sessionCreationResponse = (new CSQueries())->createSession($user);