У меня есть запрос GraphQL, который выглядит следующим образом:
{
actor {
entitySearch(query: "name LIKE 'SOME_NAME'") {
results {
entities {
guid
}
}
}
}
}
Я не могу понять, как создать структуру Go для хранения возвращаемых данных.Единственное, что меня волнует, это поле guid
, которое возвращается.
Это явно не работает:
type graphQlResponse struct {
guid string
}
Любая помощь?Или есть способ, которым я могу просто получить руководство и сохранить его в строке без структуры?
Вот весь код.Я не получаю сообщение об ошибке, но guid - пустая строка:
package main
import (
"context"
"fmt"
"log"
"github.com/machinebox/graphql"
)
func main() {
type graphQlResponse struct {
guid string
}
// create a client (safe to share across requests)
client := graphql.NewClient("GraphQL EndPoint")
// make a request
req := graphql.NewRequest(`
{
actor {
entitySearch(query: "name LIKE 'SOME_NAME'") {
results {
entities {
guid
}
}
}
}
}
`)
// set any variables
//req.Var("key", "value")
// set header fields
//req.Header.Set("Cache-Control", "no-cache")
req.Header.Set("Content-Type", "application/json")
req.Header.Set("API-Key", "KEY_HERE")
// define a Context for the request
ctx := context.Background()
// run it and capture the response
var respData graphQlResponse
if err := client.Run(ctx, req, &respData); err != nil {
log.Fatal(err)
}
fmt.Println(respData.guid)
}