EventoObtenha 50% de desconto no seu ingresso para MongoDB.local Londres em outubro 2. Use o código WEB50Saiba mais >>
Desenvolvedor MongoDB
Central de desenvolvedor do MongoDBchevron-right
Idiomaschevron-right
JavaScriptchevron-right

Crie um site simples com React, Axios e uma REST API desenvolvida com o MongoDB Atlas App Services

Maxime Beugnet4 min read • Published Feb 14, 2022 • Updated Jan 26, 2023
ReactJavaScript
APLICATIVO COMPLETO
Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse exemplo de código
star-empty
star-empty
star-empty
star-empty
star-empty
social-githubVer código

Introdução

REST API e React são tecnologias muito populares em suas respectivas áreas e também são muito interessantes para combinar em um projeto.
Nesta postagem do blog, mostrarei como podemos usar uma REST API que criei com a ajuda do Atlas App Services para acessar meus dados no MongoDB Atlas cluster e exibir o resultado da consulta em um site criado com o React.
No final deste tutorial, você terá um projeto React básico capaz de recuperar uma lista de países por meio de uma REST API e exibi-los em uma página da web.
Na próxima postagem do blog, usarei este projeto como ponto de partida. A lista de países se tornará um filtro para vários gráficos construídos com o MongoDB Charts que poderei importar para um website usando o SDK do MongoDB Charts. O resultado final será um painel do19 COVID-10} que será fácil de filtrar por país.

Pré-requisitos

Para construir este projeto, você precisará de uma versão recente do NodeJS.
Verifique se suas versões de node, npm e npx estão próximas das minhas versões:
No corpo desta postagem do blog, explicarei como criar esse aplicativo. Se você não quiser acompanhar e preferir pular para o projeto final, você pode clonar este repositório do Github:

Crie seu aplicativo React

O último comando deve abrir automaticamente uma nova guia em seu navegador favorito no endereço http://localhost:3000, e você deverá ver o logotipo padrão do React spinning. Antes de continuarmos, podemos simplificar o projeto removendo todos os arquivos desnecessários.
Agora temos uma tela limpa para a próxima etapa.

Instalar o Axios

O Axios é um cliente HTTP baseado em promessas para Node.js e o cliente HTTP mais conhecido, até onde eu saiba, com atualmente mais de 14 milhões de downloads semanais. Vamos usá-la para consultar nossa REST API e recuperar a lista de países a serem exibidos.

Verificando a REST API

Conforme mencionado na introdução, a REST API que vamos usar nesta publicação do blog já existe e foi criada usando o Atlas App Services para que possa ser dimensionada de forma fácil e automática. Essa REST API expõe metadados do Cluster de Dados Abertos19 da COVID- que disponibilizamos ao público. Confira todos os detalhesneste blog post .
Esta é a REST API que usaremos. Você pode abri-lo em uma nova guia no navegador ou usar o comando curl:
O resultado de acessar esta REST API é um JSON document que se parece com isto:
E contém a lista de países que eu quero, que é a lista de todos os países que existem no conjunto de dados da Universidade Johns Hopkins.
Agora que temos tudo o que precisamos para construir nosso site React, vamos programar!

Construindo o site

Se você seguiu todas as instruções até agora, esta é a aparência de sua pasta de trabalho:
O favicon atual é o logotipo da React. Você pode substituí-lo totalmente pelo MongoDB.
Vamos agora editar o conteúdo de public/index.html. Nada muito sofisticado em comparação com a versão original que veio com o aplicativo de amostra. Apenas removi o que não era necessário.
A única coisa que precisamos notar neste arquivo é o fato de que agora temos um divvazio com um ID root que usaremos para injetar nosso conteúdo do React.
Vamos criar um novo arquivo src/index.js:
Agora estamos injetando nosso conteúdo React em nosso site e o conteúdo será o que o novo componenteRestExample renderizará.
Vamos criar este novo componente de função no arquivo src/RestExample.js:
Agora você pode iniciar o projeto com o comando:
Há algumas coisas que vale a pena explicar aqui se você é novo no React:
  • Na linha 6, estamos criando um estado, countries, que é inicializado para uma array vazia e uma função setCountries() que pode alterar o valor dessa variável. Mais documentação aqui.
  • Com a ajuda da função useEffect()(começando na linha 8) e da biblioteca Axios, podemos executar a função uma vez, extrair os países da resposta e definir os valorescountries de nossa lista. Mais documentação aqui.
  • Finalmente, nosso componente de função renderizará o conteúdo retornado. A funçãocountries.map() itera sobre a lista de países e transforma cada uma das strings em uma marcação<li> para criar uma lista não ordenada em HTML.

Resultado final

O site final deve ficar assim:
Site com React, MongoDB e Axios
Se você ficou confuso em algum momento e seu aplicativo não está funcionando, basta clonar o projeto final:

Resumo

Nesta publicação do blog, você aprendera a criar um website básico do React que usa o Axios para recuperar dados de um cluster do MongoDB Atlas usando uma REST API implementada com o MongoDB Atlas App Services.
Na próxima postagem do blog desta série, estenderemos esse projeto para que possamos integrar alguns gráficos do MongoDB Charts. Mostraremos os dados do COVID-19 de um país e selecionaremos por qual país queremos filtrar. Fique atento!
Se tiver dúvidas, acesse o site da nossa comunidade de desenvolvedores, no qual os engenheiros e a comunidade do MongoDB ajudarão você a desenvolver sua próxima grande ideia com o MongoDB.

Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse exemplo de código
star-empty
star-empty
star-empty
star-empty
star-empty
Relacionado
Tutorial

Criar uma API com AWS API Lambda e Atlas Data API


Jan 23, 2024 | 8 min read
Artigo

Audio Find - Atlas Vector Search para áudio


Sep 09, 2024 | 11 min read
Tutorial

Rastreamento de localização em tempo real com Change Streams e Socket.io


Aug 13, 2024 | 8 min read
Tutorial

Como escrever testes de unidade para MongoDB Atlas Functions


Sep 09, 2024 | 10 min read
Tecnologias Utilizadas
Linguagens
Tecnologias
Sumário