Como testar o GraphQL Formatter com uma consulta ou esquema
A ferramenta aceita consultas ou esquemas GraphQL, mas só devolve um resultado vazio para entradas vazias ou compostas apenas por espaços. Entradas não vazias falham antes de produzir texto formatado.
Antes de começar
O GraphQL Formatter aceita texto de uma consulta ou de um esquema GraphQL. Neste estado de funcionamento, é importante ajustar a expectativa: uma entrada vazia ou composta apenas por espaços produz um resultado vazio, mas uma entrada não vazia falha antes de devolver texto formatado. Por isso, este guia serve sobretudo para testar o comportamento da ferramenta e interpretar corretamente o resultado, não para obter uma consulta GraphQL já embelezada ou comprimida.
Pode usar uma entrada vazia para confirmar o resultado mínimo. Se o objetivo for trabalhar com uma consulta ou esquema real, cole o texto sabendo que o processamento não devolverá a versão formatada. A ferramenta também não deve ser usada para validar, analisar, executar ou confirmar a correção de GraphQL.
Como fazer o teste
- Abra a ferramenta e localize a área genérica destinada ao texto GraphQL.
- Para verificar o comportamento da entrada vazia, deixe o campo sem conteúdo ou introduza apenas espaços e envie o pedido. O resultado deve conter texto formatado vazio; nesse caso, os tamanhos de entrada e de saída são ambos 0.
- Para testar uma entrada real, cole uma consulta ou um esquema GraphQL não vazio. Pode escolher o modo de embelezamento ou o modo de minificação e indicar a indentação, quando esses controlos estiverem disponíveis.
- Envie o pedido e aguarde o resultado. Com texto não vazio que passe as verificações de tipo e tamanho, tanto o caminho de embelezamento como o de minificação falham durante o processamento, antes de devolver texto formatado.
- Se estiver a enviar dados através de uma integração, confirme que o valor final é texto. Quando a entrada principal está vazia, uma cadeia de texto fornecida por um nome alternativo legado pode ser usada; depois dessa seleção, valores que não sejam texto falham. Para pedidos não vazios, a entrada codificada em UTF-8 deve ter, no máximo, 1 000 000 de bytes.
- Ao testar opções, considere que o embelezamento é o modo predefinido para entradas não vazias. Apenas o valor
minifyseleciona a minificação; outros valores seguem o caminho de embelezamento. A indentação predefinida é de 2 espaços por nível. Valores de indentação inferiores a 0, superiores a 8 ou que não possam ser convertidos usam 2, mas a entrada vazia não passa por essa normalização.
Como interpretar o resultado
Um resultado vazio depois de enviar apenas espaços é o comportamento esperado para esse caso; não significa que uma consulta tenha sido validada. Se uma consulta ou um esquema for enviado e não aparecer texto formatado, isso corresponde ao comportamento revisto para entradas não vazias, tanto no modo de embelezamento como no de minificação.
Também convém separar as opções do significado do resultado. Escolher minify encaminha o pedido para a minificação, enquanto outros valores encaminham-no para o embelezamento, mas nenhuma dessas escolhas produz texto formatado quando a entrada é um texto GraphQL não vazio. Assim, não é possível avaliar pela ferramenta a organização, a validade ou a execução da consulta. Um texto muito grande ou um valor que não seja uma cadeia de texto pode falhar ainda antes do processamento do resultado.
Para uma leitura consistente, registe apenas se a entrada era vazia, se era texto, se respeitava o limite de tamanho e que modo foi selecionado. Não trate uma falha como prova de que o GraphQL está incorreto, nem interprete um resultado vazio como uma versão formatada da consulta.
Exemplo prático
Uma pessoa quer verificar se a ferramenta devolve uma versão organizada de uma consulta GraphQL curta antes de a enviar para outro sistema.
Uma pessoa cola query { utilizador { nome } }, mantém o modo de embelezamento e envia o pedido; depois repete o teste deixando apenas espaços no campo.
O resultado apresenta texto formatado vazio para a entrada vazia; para a consulta não vazia, o processamento falha antes de devolver texto formatado.
Limitações
- A ferramenta não devolve texto formatado para entradas GraphQL não vazias. Valores que não sejam texto e entradas com mais de 1 000 000 de bytes em UTF-8 falham antes do resultado.
Erros comuns
- Esperar que uma consulta não vazia devolva texto formatado é o erro mais relevante neste estado; a ação correta é interpretar a falha como uma limitação do processamento e não como uma mensagem sobre a validade do GraphQL.
Perguntas frequentes
O que acontece se eu deixar a entrada vazia?
Quando a entrada está vazia ou contém apenas espaços, o resultado é texto formatado vazio e os tamanhos de entrada e saída são 0. Uma consulta não vazia falha antes de devolver texto formatado.
A ferramenta formata uma consulta GraphQL não vazia?
Não. Enviar uma consulta ou esquema não vazio faz com que o processamento falhe antes de devolver texto formatado, tanto no embelezamento como na minificação.
Que modo e tamanho de entrada devo usar?
Para entradas não vazias, minify seleciona a minificação e os outros valores seguem o embelezamento. Ainda assim, o processamento falha antes de devolver texto formatado; a entrada deve ser texto e não pode exceder 1 000 000 de bytes em UTF-8.