Client query generator
Hasura Extra integrate với Sailor typesafe graphql client để generate PHP code từ graphql query spec của bạn, ứng dụng cho việc khi bạn cần integrate với 3rd parties cũng sử dụng graphql thông qua Hasura remote schema.
Introspection
Đầu tiên bạn cần run introspection command ra Hasura SDL phục vụ cho việc validate query spec của bạn trước khi thực hiện gen code:
- Đối với Laravel users
- Đối với Symfony users
php artisan hasura:sailor:introspect
php bin/console hasura:sailor:introspect
Code generation
Sau khi thực hiện introspection query, tiếp đến bạn hãy tạo 1 file query spec .graphql
trong thư mục hasura/graphql
và tiến hành generate code thông qua câu lệnh:
- Đối với Laravel users
- Đối với Symfony users
php artisan hasura:sailor:codegen
Client executor được generate mặc định nằm trong thư mục App\GraphQLExecutors
, thế là xong, ngay bây giờ bạn đã có thể sử dụng executor rồi đấy.
tip
Nếu như bạn sử dụng Laravel app thì hãy kham khảo cách dùng tại App\Console\Commands\GetCountries
class.
php bin/console hasura:sailor:codegen
Client executor được generate mặc định nằm trong thư mục App\GraphQLExecutor
, thế là xong, ngay bây giờ bạn đã có thể sử dụng executor rồi đấy.
tip
Nếu như bạn sử dụng Symfony app thì hãy kham khảo cách dùng tại App\Command\GetCountries
class.