Usando GraphQL para expor dados de uma variedade de bancos de dados

Na versão 2.11 do Dreamfactory, adicionamos suporte para GraphQL , a linguagem de consulta de código aberto escrita pelo Facebook. Agora você pode aproveitar o poder do GraphQL dentro da estrutura de integração e automação de API do Dreamfactory. Tanto REST quanto GraphQL oferecem vantagens e desvantagens dependendo do seu caso de uso. Existem vários artigos e postagens expandindo isso, mas vamos ver como incorporar esse serviço em sua instância do Dreamfactory. GraphQL está disponível em todos os nossos níveis de produto: Open Source, Silver e Gold.

Crie um novo aplicativo.

  • Comece criando um novo aplicativo no Painel de administração com o nome de sua preferência. Para facilidade de uso, recomendo algo muito criativo, como GraphQL ou GraphiQL, pois criamos um fork deste terceiro, no IDE do navegador para realizar os eventos de consulta e mutação.
  • Certifique-se de marcar o aplicativo como ativo e atribuir uma função padrão a ele. Certifique-se de que a função tenha os privilégios corretos para interagir com o serviço.
  • Existem outras maneiras de fazer isso, mas ao criar um aplicativo, você tem uma maneira fácil de adquirir a chave de API de que precisará mais tarde.

Instale o software.

  • Depois de criar o aplicativo, é hora de iniciar a instalação. Você precisará editar seu arquivo composer.json. Você precisa editar o arquivo em dois lugares: o primeiro está na instrução repositories e o segundo está na instrução require.
  • Na declaração de repositórios, você precisa adicionar o tipo e url do código. Será um objeto dentro da matriz de repositórios. Veja a imagem abaixo e olhe para a seta superior.
  • Sob a instrução require, adicione a dependência para df-graphiqlAdicionando suporte para graphiql em seu composer.json
  • Atualize o arquivo composer.json para instalar as dependências:
    composer update dreamfactory/df-graphiql --no-dev
  • limpe o cache:
    php artisan cache:clear

Em seguida, edite o pacote graphiql para adicionar a chave de API Dreamfactory

vim vendor/dreamfactory/df-graphiql/resources/views/graphiql.php
  • Localize a seção da chave de API na seguinte nota:Entrada de chave API
//Defines a GraphQL fetcher using the fetch API
  • Você verá o objeto cabeçalhos. É aqui que você deve colocar sua chave:
X-DreamFactory-API-key’: YOUR_API_KEY

Volte para a seção Launchpad e você verá uma tela semelhante a esta:

Página inicial do GraphQL com DreamFactory

  • Isso lhe dá uma idéia básica de alguns dos comandos para GraphQL
  • Se você clicar na guia <Docs, terá acesso aos tipos de raiz de consulta e mutação. Esta documentação é toda gerada automaticamente a partir do DreamFactory. Conforme você clica, pode ver o tipo que ele retorna, os argumentos, etc.

Vamos criar uma consulta:

  • Como você obtém o esquema de um banco de dados SQL Server conectado, por exemplo?
  • Quando você começa a digitar o nome da consulta, o texto começa a se corrigir automaticamente, listando as opções que podem corresponder à sua consulta.texto de preenchimento automático para Graphiql
  • Se você digitar o nome da consulta: getSqlServerTable e clicar no botão de reprodução, ele retornará as listas de campos automaticamente. Você pode clicar em qualquer um dos campos e será mostrado o tipo de campo.SERVIDOR SQL

Últimos itens importantes:

  • Certifique-se de observar a sintaxe do url. É assim que você conectará seu projeto DreamFactory às consultas e mutações GraphQL. Deve estar sempre nesta ordem:
http://ANY_BASE_URL/graphiql
  • Depois que essa URL base for estabelecida, você pode continuar a interagir com o GraphQL como faria em qualquer outro ambiente GraphQL.

Aqui estão alguns links para aprofundar seu aprendizado em GraphQL e GraphiQL: