Update README with simple example.

This commit is contained in:
2021-03-27 09:11:38 +00:00
parent a16e0b199f
commit acce647669
2 changed files with 30 additions and 1 deletions
+2
View File
@@ -2,6 +2,8 @@ name: Test and release
on:
push:
paths-ignore:
- '**.md'
branches:
- "*"
+28 -1
View File
@@ -10,9 +10,25 @@ I've tried to run few graphQL clients with hasura, all of them required conversi
the appropriate structures, causing issues with non-existing types ( thanks to Hasura ), for example `bigint` which was difficult to export.
Therefore, I present you the simple client to which you can copy & paste your graphQL query, variables and you are good to go.
## Usage
## Features
* Executing GraphQL queries as they are, without types declaration
* Compressing produced queries
* Support for additional headers
* Support for gzip compression ( built into Hasura )
## Usage example
```go
import (
fmt
gql "github.com/lukaszraczylo/simple-gql-client"
)
// (...)
gql.GraphQLUrl = "http://127.0.0.1:9090/v1/graphql"
headers := map[string]interface{}{
"x-hasura-user-id": 37,
"x-hasura-user-uuid": "bde3262e-b42e-4151-ac10-d43fb38f44a5",
@@ -35,4 +51,15 @@ fmt.Println(result)
```json
{"tbl_user_group_admins":[{"id":109,"is_admin":1}]}
```
## Working with results
I'm using an amazing library [tidwall/gjson](https://github.com/tidwall/gjson) to parse the results and extract information required in further steps and I strongly recommend this approach as the easiest and close to painless.
```go
result = gjson.Get(result, "tbl_user_group_admins.0.is_admin").Bool()
if result {
fmt.Println("User is an admin")
}
```