After the Developer Workshop in Nairobi, I have resolved to Move from Rest to GraphQL, This is a package to assit me with the same as I develop may laravel APIs
#Requirements
- PHP 5.6 and Above
- Laravel 5.3
#Instalation
composer require ayimdomnic/graph-ql-l5.3
- add
Ayimdomnic\GraphQl\GraphQlServiceProvider::class,
toconfig/app
- add
'GraphQl' => 'Ayimdomnic\GraphQl\Helper\Facade\GraphQl',
to the Facades - publish
php artisan vendor:publish
#Usage
#Creating a Query(#creating-a-query)
namespace App\GraphQl\Type;
use GraphQL\Type\Definition\Type;
use Ayimdomnic\GraphQl\Helper\Type as GraphQLType;
class UserType extends GraphQLType {
protected $attributes = [
'name' => 'User',
'description' => 'A user'
];
public function fields()
{
return [
'id' => [
'type' => Type::nonNull(Type::string()),
'description' => 'The id of the user'
],
'email' => [
'type' => Type::string(),
'description' => 'The email of user'
]
];
}
#########If you want to resolve the field yourself, you can declare a method
###################with the following format resolve[FIELD_NAME]Field()
protected function resolveEmailField($root, $args)
{
return strtolower($root->email);
}
}