Variáveis
Para evitar codificar todos os valores ao trabalhar com GraphQL, o API Explorer fornece uma seção de Variáveis na qual um objeto JSON pode ser adicionado. As chaves de nível superior do objeto JSON são disponibilizadas como variáveis que têm nomes denotados por um cifrão ($KEY_NAME). Isso permite uma experiência de desenvolvimento muito mais agradável ao escrever e testar consultas, mutações e assinaturas dinâmicas.
Mutação GraphQL
Seção intitulada “Mutação GraphQL”query MyQuery1 ($domain: String) { students( filter: { email: { contains: $domain } } ) { items { id firstName email } }}Variáveis
Seção intitulada “Variáveis”{ "domain": "example.com"}
Declarando Variáveis
Seção intitulada “Declarando Variáveis”Algumas entradas dinâmicas podem precisar ser adicionadas quando você envia uma solicitação para o seu servidor GraphQL, enquanto mantém o documento de operação o mesmo. Estas são as variáveis da sua operação. As variáveis devem ser argumentos tipados que são declarados na operação GraphQL. Como o GraphQL é tipado estaticamente, se você está passando as variáveis corretas pode ser validado para você.
Os dois exemplos a seguir funcionariam juntos para consultar uma lista de usuários com status “Ativo” e cujos nomes começam com “M”.
Mutação GraphQL
Seção intitulada “Mutação GraphQL”query MyQuery1($name_start: String, $status: Boolean) { students( filter: { firstName: { starts_with: $name_start }, isActive: { equals: $status } } ) { items { id firstName email } }}Variáveis
Seção intitulada “Variáveis”{ "name_start": "M", "status": true}
Declarando Variáveis Tipadas
Seção intitulada “Declarando Variáveis Tipadas”As variáveis não se limitam a ser valores de entrada únicos. Elas podem ser objetos complexos com qualquer tipo declarado em um determinado espaço de trabalho - nativo ou personalizado. Isso permite que coisas como filtros inteiros, classificações e muitos outros sejam passados dinamicamente como variáveis.
Mutação GraphQL
Seção intitulada “Mutação GraphQL”query MyQuery ( $filter: StudentsFilter $first: Int $orderBy: StudentsOrderBy) { students( filter: $filter first: $first orderBy: $orderBy ) { count items { id firstName lastName age } }}Variáveis
Seção intitulada “Variáveis”{ "filter": { "email": { "contains": "example" }, "firstName": { "starts_with": "M" } }, "orderBy": { "lastName": "ASC"}, "first": 2}