Consulte dados de registro usando a estrutura de API GraphQL

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 4 min. de leitura
  • Crie uma API GraphQL personalizada para consultar dados de registro de um componente ou um sistema de terceiros.

    Por exemplo, você pode criar um componente que exibe os casos associados a um ANS. Você pode usar Estrutura de IU do Next Experience Para desenvolver o componente necessário e acessar dados de caso da plataforma criando um esquema GraphQL que define dados na tabela de caso.

    Para saber mais sobre como desenvolver componentes, consulte Desenvolvendo componentes para o espaço .

    Benefícios do GraphQL

    GraphQL é uma linguagem de consulta da web otimizada para desenvolvimento do lado do cliente. Usando GraphQL com script, você pode:

    • Descubra campos e objetos disponíveis para consulta por meio de introspecção.
    • Consulte os dados exatos de que você precisa de um componente.
    • Gerencie várias consultas possíveis de uma única API, em vez de vários endpoints para uma solicitação REST.
    • Integre com sistemas de terceiros tornando o esquema público.
    • Gere a consulta GraphQL do seu componente e manipule a resposta.

    O que saber antes de começar

    Antes de começar a criar APIs GraphQL personalizadas, verifique se você tem:

    • Conhecimento do GraphQL para criar um esquema.
    • Conhecimento em JavaScript para definir o comportamento da API.
    • Conhecimento geral de conceitos de componentes web.
    • Um personalizado Espaço componente para consumir dados de registro.
    • Compreensão do ServiceNow modelo de dados que você deseja expor no esquema.
    • Conhecimento do GlideRecord para mapear campos para registrar dados em seus scripts do resolvedor.

    Visão geral do GraphQL

    A criação de uma API GraphQL com script inclui estas partes:

    Linguagem de definição de esquema GraphQL (SDL)
    Defina a estrutura e o tipo de dados dos campos disponíveis em uma consulta GraphQL. Você pode definir o SDL usando Esquema Campo Script na tabela Esquemas de script GraphQL [sys_graphql_schema]. O SDL oferece suporte somente a operações de consulta e mutação.
    Resolvedores
    Defina os dados retornados por cada campo. Você pode definir os resolvedores para cada campo na lista relacionada Resolvedores com script GraphQL no formulário Esquemas com script GraphQL.
    Typeresolvers
    Resolva interfaces e uniões em tipos GraphQL concretos. Por exemplo, você pode definir uma união entre um incidente e um problema tipo. Use o script typeresolver para definir quando retornar qual. Você pode definir os resolvedores de tipo na lista relacionada Typeresolvers com script do GraphQL no formulário Esquemas com script do GraphQL.
    Mapeamentos do resolvedor
    Mapeie resolvedores para campos no esquema. Você pode definir mapeamentos de resolvedor na lista relacionada Mapeamentos de resolvedor com script do GraphQL no formulário Esquemas com script do GraphQL.

    Para saber mais sobre a linguagem de consulta GraphQL, consulte Site GraphQL .

    Para testar consultas às APIs GraphQL, você pode usar o GraphQL Explorer, uma ferramenta de teste GraphQL integrada. Para obter mais informações, consulte Teste APIs GraphQL com o GraphQL Explorer.

    Limitações

    Os seguintes recursos do GraphQL não são compatíveis:

    • Operações de assinatura
    • Tipos escalares personalizados

    Introspecção

    Por padrão, as consultas introspectivas em seus esquemas personalizados não estão habilitadas. Para ativar a introspecção, consulte Habilitar consultas introspectivas para esquemas GraphQL.

    Namespaces

    GraphQL APIs têm dois namespaces diferentes:

    Namespace da aplicação
    O namespace da aplicação personalizada. Para saber mais sobre namespaces de aplicações, consulte Escopo da aplicação .
    Namespace do esquema
    O namespace do esquema para garantir que todas as consultas sejam exclusivas. Você pode ter vários namespaces de esquema em uma única aplicação.

    Ao consultar dados, você deve incluir ambos os namespaces em sua consulta. Por exemplo, a consulta a seguir está pesquisando dados com os seguintes namespaces:

    • Namespace da aplicação: x_graph_scope
    • Namespace do esquema: planeta
    query {
      x_graph_scope {
        planet {
          findAll {
            name
            mass
            distance
          }
        }
      }
    }

    Funções globais e diretivas

    na origem diretiva de esquema

    Mapeia um campo GraphQL para o valor de uma propriedade do objeto primário. Se o campo tiver um script de resolvedor separado, o sistema usará o registro para o qual ele resolve em vez do objeto primário.

    Use na origem no script de esquema.

    adiar diretiva de consulta
    Adie o processamento de um fragmento GraphQL para mais tarde na consulta. Use esta diretiva de consulta para atrasar o retorno de dados para campos de resposta lenta em um fragmento. Transmita os resultados de campo do fragmento adiado como uma resposta de várias partes.
    Nota:
    Para usar o. adiar Seu cliente GraphQL deve aceitar cabeçalhos HTTP de várias partes/mistos. Por exemplo, defina os cabeçalhos HTTP como Aceitar: Multipart/misto; limite: "-" .

    Use adiar diretiva para melhorar o tempo de interação do usuário. Evite aplicar esta diretiva de consulta indiscriminadamente, pois ela também pode causar degradações de desempenho. Conduza testes de desempenho para determinar quais campos podem ser adiados para melhorar o desempenho.

    Funções do resolvedor

    Essas funções estão disponíveis no global env objeto.

    • GetArguments() Retorna os argumentos do campo anterior.
    • GetSource() Retorna o objeto primário.

    Use no script do resolvedor.

    Typeresolver funções

    Essas funções estão disponíveis no global env objeto.

    • GetArguments() Retorna os argumentos do campo anterior.
    • GetObject() Retorna o objeto primário.
    • GetTypeName() Retorna o nome da interface ou do tipo de união.

    Use em seu script de resolvedor de tipografia.

    Aplicação de demonstração

    Para ver um esquema de calendário de PTO do GraphQL de demonstração com mutações e consultas, habilite o plug-in da aplicação GraphQL Framework Demo (com.glide.graphql.framework.demo).