Menu Docs
Página inicial do Docs
/ /
Serviços Atlas App
/ /

Migrar GraphQL para WundGraph

Nesta página

  • Migrar para o WunderGraph
  • Criar um aplicativo WnderGraph
  • Adicionar scripts npm
  • Inicie o servidor WUnderGraph MongoDB
  • Configurar Fonte de Dados do MongoDB Atlas
  • Adicionar operações de query
  • Navegue pelos dados com a interface do usuário do GraphyQL
  • Use a interface JSON-RPC do WUnderGraph para produção
  • Atualizar aplicativos do cliente
  • Desligar os endpoints do Atlas App Services
  • Próximos passos
  • WuberGraph Cosmo para GraphQL Federation

Importante

Consulte sempre a documentação oficial do MongoDB Atlas e do WUnderGraph para obter as informações mais atualizadas e precisas. Etapas específicas podem variar dependendo dos detalhes do seu projeto e das tecnologias utilizadas.

WnderGraph é uma plataforma abrangente para desenvolvedores que vem com uma ampla variedade de ferramentas open-source e SDKs.

Uma dessas ferramentas é uma estrutura de backend for frontend (BFF). Esta estrutura BFF é uma estrutura de servidor robusta e compatível com especificações que você pode adicionar aos ambientes de produção. Essa estrutura pode integrar dados de qualquer fonte. Isso inclui dados do MongoDB Atlas. Para obter mais detalhes, consulte a página do WUnderGraph para Docs Atlas. Se você planeja usar o GraphQL Federation, dê uma olhada no WUnderGraph Cosmo.

O WUnderGraph BFF é um gateway de código aberto que agrupa seus dados e gera clientes seguros por tipo para sua estrutura de frontend. Você também pode usar hooks para adicionar lógica de negócios ou resolvedores personalizados do GraphQL para desacoplar os clientes do banco de dados.

O seguinte é uma visão geral de como migrar seu host GraphQL do Atlas App Services para WUnderGraph. Etapas específicas podem variar dependendo dos detalhes do seu projeto e das tecnologias utilizadas.

1
# Init a new project
npx create-wundergraph-app my-project --example simple
# Move to the project directory
cd my-project
# Install dependencies
npm i
2

Adicione os seguintes scripts ao package.json, para que você possa executar o servidor WnderGraph.

{
"scripts": {
"start": "wunderctl up --debug",
"build": "wunderctl generate"
}
}
3
npm run start

Depois de iniciar o servidor, o WUnderGraph faz alguma geração de código. Verifique o status do servidor em http://localhost:9991.

4

Você precisa configurar sua fonte de dados do MongoDB Atlas. Dentro do seu arquivo wundergraph.config.ts , adicione o seguinte:

wubergraph.config.ts
const Atlas = introspect.mongodb({
apiNamespace: 'my_db',
databaseURL: 'YourAtlasURL',
});
configureWunderGraphApplication({
apis: [Atlas],
});
5

Para trabalhar com seus dados do Atlas, você precisa adicionar operações de consulta. Navegue até a pasta operations e crie um novo arquivo GraphQL chamado Users.graphql e adicione o seguinte:

/operations/Users.graphql
{
Mongo_findFirstusers {
id
name
email
}
}
6

Depois de executar o servidor WUnderGraph e adicionar operações de query, você pode usar a interface de usuário do GraphQL para explorar seus dados do Atlas por meio de uma API do GraphQL. Isso pode ser útil quando seu aplicativo estiver em desenvolvimento. Para aplicativos em produção, recomendamos o uso da interface JSON-RPC do WUnderGraph (consulte a próxima etapa).

  1. Com seu servidor WUnderGraph em execução, navegue até http://localhost:9991/graphql.

  2. Adicione estas queries à interface de usuário do GraphyQL:

    query Users {
    db_findManyusers {
    id
    name
    email
    }
    }
  3. Clique no botão Executar.

7

O GrafiQL é bom para desenvolvimento, mas para a produção, você deve considerar usar a interface JSON-RPC do WUnderGraph para interagir com os dados do Atlas.

Resumindo, o WUnderGraph compila suas operações GraphQL em endpoints JSON-RPC que você pode chamar.

Depois de executar wunderctl up, o WUnderGraph verifica o diretório .wundergraph/operations para arquivos *.graphql e os processa. Para que isso funcione, cada arquivo deve conter exatamente uma Operação GraphQL.

Cada arquivo será compilado em um endpoint JSON-RPC. O nome do endpoint é determinado pelo nome do arquivo.

Aqui está um exemplo de consulta de API JSON-RPC:

curl http://localhost:9991/operations/Users
8

Atualize todos os aplicativos clientes que interagem com seus pontos de conexão da API GraphQL para apontar para as novas URLs de ponto do WUnderGraph.

9

Depois de verificar se os pontos de conexão da API GraphQL estão totalmente migrados e operacionais no WUnderGraph, você pode excluir seu aplicativo MongoDB Atlas App Services para evitar custos desnecessários. Lembre-se de que os endpoints do Atlas GraphQL não serão mais suportados a partir de 12 de março de 2025.

Confira os Cosmos Docs para saber como construir uma GraphQL arquitetura distribuída que combine várias GraphQL APIs do para criar um grafo unificado.

O Cosmo permite que equipes e organizações gerenciem e dimensionem arquiteturas GraphQL (federadas) com facilidade. Itere rapidamente sem quebrar nada nas verificações de composição.

O WUnderGraph Cosmo pode ser executado facilmente localmente, no local ou na nuvem como um serviço gerenciado. O Cosmo é uma solução incluída em bateria que abrange tudo, do roteamento à análise com toda a plataforma.

O Cosmo suporta APIs GraphQL monolíticas, bem como Federação v1 e v2 , incluindo assinaturas.

Voltar

Migrar para o Apollo