Fajar Jr

Laravel package to consume Graphql API

 

Github Repo

https://github.com/0length/graphql-client

How to use

This package is installed via Composer. To install, simply add it to your composer.json file:

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

and run composer to update the dependencies composer update.

Then open your Laravel config file config/app.php and in the $providers array add the service provider for this package.

\Zerolength\Graphql\GraphqlServiceProvider::class

Generate the configuration file running in the console:

php artisan vendor:publish --tag=config

Finally add your graphql server endpoint url and headers option as following example below to your .env file:

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

Example Query Class Creation

<?php

namespace App\Graphql\Queries;

use App\Graphql\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();
    }
}

Example Query Class Call/Usage

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

Lain-Lain:

TagsNotes
app,aplikasi,application,basic,benefit,bangun,create,content,develoment,desktop,debug,fun,function,fine,growth,high,intro,introduction,just,join,konsep,kaji,kasus,line,like,link,man,main,new,old,pure,quit,revolution,ringan,rain,rude,simple,true,under,use,useful,volume,wide,x,year,zoom,coding,koding,iseng,berhadiah,rancang,elegan,nice,permulaan,satu,membangun,laravel,php,graphql,http,clientTags