Adicione uma API sintética do GraphQL e configure resolvedores de campo
APLICA-SE A: Todas as camadas de gerenciamento de API
No Gerenciamento de API, você pode adicionar uma API GraphQL em um de dois modelos: passar para um ponto de extremidade GraphQL existente ou importar um esquema GraphQL e criar uma API GraphQL sintética com resolvedores de campo personalizados. Para obter mais informações, consulte a visão geral do GraphQL.
Nota
Atualmente, esse recurso não está disponível em espaços de trabalho.
Neste artigo, você:
- Importar um esquema GraphQL para sua instância de Gerenciamento de API
- Configurar um resolvedor para uma consulta GraphQL usando um ponto de extremidade HTTP existente
- Teste sua API do GraphQL
Se você quiser expor um ponto de extremidade GraphQL existente como uma API, consulte Importar uma API GraphQL.
Pré-requisitos
- Uma instância de gerenciamento de API existente. Crie um, caso ainda não o tenha feito.
- Um arquivo de esquema GraphQL válido com a
.graphql
extensão. - Um ponto de extremidade GraphQL de back-end é opcional para esse cenário.
Vá para a sua instância de Gestão de API
No portal do Azure, procure e selecione serviços de Gerenciamento de API.
Na página Serviços de Gerenciamento de API, selecione sua instância de Gerenciamento de API.
Adicionar um esquema GraphQL
No menu de navegação lateral, na seção APIs , selecione APIs.
Em Definir uma nova API, selecione o ícone GraphQL .
Na caixa de diálogo, selecione Completo e preencha os campos de formulário obrigatórios.
Campo Descrição Nome a apresentar O nome pelo qual sua API GraphQL será exibida. Nome Nome bruto da API GraphQL. Preenche automaticamente à medida que você digita o nome para exibição. Tipo GraphQL Selecione Synthetic GraphQL para importar de um arquivo de esquema GraphQL. Ponto de extremidade GraphQL de fallback Opcionalmente, insira uma URL com um nome de ponto de extremidade da API GraphQL. O Gerenciamento de API passa as consultas do GraphQL para esse ponto de extremidade quando um resolvedor personalizado não está definido para um campo. Descrição Adicione uma descrição da sua API. Esquema do URL Faça uma seleção com base no seu endpoint GraphQL. Selecione uma das opções que inclui um esquema WebSocket (WS ou WSS) se sua API GraphQL incluir o tipo de assinatura. Seleção padrão: HTTP(S). Sufixo do URL da API Adicione um sufixo de URL para identificar essa API específica nesta instância de Gerenciamento de API. Ele deve ser exclusivo nesta instância de Gerenciamento de API. URL Base Campo não editável exibindo o URL base da API Etiquetas Associe sua API do GraphQL a tags novas ou existentes. Produtos Associe sua API GraphQL a um produto para publicá-la. Versão desta API? Selecione esta opção para aplicar um esquema de controle de versão à sua API do GraphQL. Selecione Criar.
Depois que a API for criada, procure ou modifique o esquema na guia Design .
Configurar resolvedor
Configure um resolvedor para mapear um campo no esquema para um ponto de extremidade HTTP existente. Etapas de alto nível são fornecidas aqui. Para obter detalhes, consulte Configurar um resolvedor GraphQL.
Suponha que você importou o seguinte esquema básico do GraphQL e queria configurar um resolvedor para a consulta dos usuários .
type Query {
users: [User]
}
type User {
id: String!
name: String!
}
No menu de navegação lateral, na seção APIs , selecione APIs> sua API GraphQL.
Na guia Esquema, revise o esquema para um campo em um tipo de objeto no qual você deseja configurar um resolvedor.
Selecione um campo e, na margem esquerda, passe o ponteiro do mouse.
Selecione + Adicionar resolvedor
Na página Criar resolvedor:
- Atualize a propriedade Name se desejar, opcionalmente insira uma Descrição e confirme ou atualize as seleções Tipo e Campo .
- Em Fonte de dados, selecione API HTTP.
No editor de políticas do Resolvedor, atualize o
<http-data-source>
elemento com elementos filho para o seu cenário. Por exemplo, o resolvedor a seguir recupera o campo de usuários fazendo umaGET
chamada para uma fonte de dados HTTP existente.<http-data-source> <http-request> <set-method>GET</set-method> <set-url>https://myapi.contoso.com/users</set-url> </http-request> </http-data-source>
Selecione Criar.
Para resolver dados para outro campo no esquema, repita as etapas anteriores para criar um resolvedor.
Gorjeta
Ao editar uma política de resolvedor, selecione Executar teste para verificar a saída da fonte de dados, que pode ser validada em relação ao esquema. Se ocorrerem erros, a resposta inclui informações de solução de problemas.
Teste sua API do GraphQL
Navegue até sua instância de Gerenciamento de API.
No menu de navegação lateral, na seção APIs , selecione APIs.
Em Todas as APIs, selecione sua API GraphQL.
Selecione a guia Teste para acessar o console de teste.
Em Cabeçalhos:
- Selecione o cabeçalho no menu suspenso Nome .
- Insira o valor no campo Valor .
- Adicione mais cabeçalhos selecionando + Adicionar cabeçalho.
- Exclua cabeçalhos usando o ícone da lixeira.
Se você adicionou um produto à sua API do GraphQL, aplique o escopo do produto em Aplicar escopo do produto.
Em Editor de consultas:
Selecione pelo menos um campo ou subcampo na lista no menu lateral. Os campos e subcampos selecionados aparecem no editor de consultas.
Comece a digitar no editor de consultas para compor uma consulta.
Em Variáveis de consulta, adicione variáveis para reutilizar a mesma consulta ou mutação e passe valores diferentes.
Selecione Enviar.
Veja a resposta.
Repita as etapas anteriores para testar cargas úteis diferentes.
Quando o teste estiver concluído, saia do console de teste.
Proteja sua API GraphQL
Proteja sua API do GraphQL aplicando políticas de autenticação e autorização existentes e uma política de validação do GraphQL para proteger contra ataques específicos do GraphQL.
Tópicos relacionados
- Limitações de importação de API
- Importar uma especificação de OpenAPI
- Importar uma API SOAP
- Importar uma API de SOAP e converter em REST
- Importar uma API do Serviço de Aplicativo
- Importar uma API de aplicativo de contêiner
- Importar uma API WebSocket
- Importar uma GraphQL API
- Importar um esquema de GraphQL e configurar resoluções de campos
- Importar uma Aplicação de Função do Azure
- Importar uma Aplicação Lógica do Azure
- Importar um serviço do Service Fabric
- Importar uma API OpenAI do Azure
- Importar uma API OData
- Importar metadados do SAP OData
- Importar uma API gRPC
- Editar uma API