DEV Community

Cover image for Como criar uma API com Node.js e MongoDB usando ES6
rodrigozan
rodrigozan

Posted on

Como criar uma API com Node.js e MongoDB usando ES6

Se você deseja criar uma API usando Node.js e MongoDB, você veio ao lugar certo. Neste artigo, vamos mostrar como criar uma API simples e eficiente usando essas tecnologias.

Configuração do ambiente

Antes de começar, você precisará instalar o Node.js e o MongoDB em seu computador. Certifique-se de que ambos estejam instalados corretamente e de que você tenha um editor de código instalado, como o Visual Studio Code.

Criação de um projeto Node.js

O próximo passo é criar um novo projeto Node.js usando o gerenciador de pacotes npm. Abra o terminal e digite o seguinte comando:

npm init
Enter fullscreen mode Exit fullscreen mode

Isso criará um arquivo package.json que será usado para gerenciar as dependências do projeto.

Instalação das dependências

Agora que o projeto foi criado, é hora de instalar as dependências necessárias. Neste caso, precisaremos instalar o Express e o Mongoose. Abra o terminal e digite o seguinte comando:

npm install express mongoose --save
Enter fullscreen mode Exit fullscreen mode

Isso instalará o Express e o Mongoose e os adicionará ao arquivo package.json.

Configuração do servidor

Agora, precisamos configurar o servidor Express para lidar com as solicitações HTTP. Abra o arquivo app.js e adicione o seguinte código:
javascript

const express = require('express');
const app = express();

app.get('/', (req, res) => {
  res.send('Olá, mundo!');
});

app.listen(3000, () => {
  console.log('Servidor rodando na porta 3000');
});
Enter fullscreen mode Exit fullscreen mode

Este código configura um servidor Express básico que escuta as solicitações na porta 3000 e retorna "Olá, mundo!" quando uma solicitação é feita para a raiz do servidor.

Configuração do MongoDB

Agora, precisamos configurar o Mongoose para se conectar ao MongoDB. Abra o arquivo app.js e adicione o seguinte código:

const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/meu_banco_de_dados', { useNewUrlParser: true });
Enter fullscreen mode Exit fullscreen mode

Este código se conecta ao MongoDB em localhost/meu_banco_de_dados usando as opções padrão do Mongoose.

Criação do modelo

Agora, precisamos criar um modelo Mongoose para o nosso objeto de dados. Abra o arquivo app.js e adicione o seguinte código:

const mongoose = require('mongoose');

const schema = new mongoose.Schema({
  nome: String,
  idade: Number,
});

const Pessoa = mongoose.model('Pessoa', schema);
Enter fullscreen mode Exit fullscreen mode

Este código define um modelo Pessoa que tem dois campos: nome (do tipo String) e idade (do tipo Number).

Criação das rotas

Agora, precisamos criar as rotas para nossa API. Abra o arquivo app.js e adicione o seguinte código:

const express = require('express');
const mongoose = require('mongoose');

const app = express();
mongoose.connect('mongodb://localhost/meu_banco_de_dados', { useNewUrlParser: true });

const schema = new mongoose.Schema({
  nome: String,
  idade: Number,
});

const Pessoa = mongoose.model('Pessoa', schema);

// Rota para obter todas as pessoas
app.get('/pessoas', async (req, res) => {
  const pessoas = await Pessoa.find();
  res.send(pessoas);
});

// Rota para obter uma pessoa pelo ID
app.get('/pessoas/:id', async (req, res) => {
  const pessoa = await Pessoa.findById(req.params.id);
  res.send(pessoa);
});

// Rota para adicionar uma pessoa
app.post('/pessoas', async (req, res) => {
  const pessoa = new Pessoa({
    nome: req.body.nome,
    idade: req.body.idade,
  });
  await pessoa.save();
  res.send(pessoa);
});

// Rota para atualizar uma pessoa
app.put('/pessoas/:id', async (req, res) => {
  const pessoa = await Pessoa.findByIdAndUpdate(req.params.id, {
    nome: req.body.nome,
    idade: req.body.idade,
  }, { new: true });
  res.send(pessoa);
});

// Rota para excluir uma pessoa
app.delete('/pessoas/:id', async (req, res) => {
  const pessoa = await Pessoa.findByIdAndDelete(req.params.id);
  res.send(pessoa);
});

app.listen(3000, () => {
  console.log('Servidor rodando na porta 3000');
});
Enter fullscreen mode Exit fullscreen mode

Este código define cinco rotas para nossa API: uma rota para obter todas as pessoas, uma rota para obter uma pessoa pelo ID, uma rota para adicionar uma pessoa, uma rota para atualizar uma pessoa e uma rota para excluir uma pessoa. Cada rota corresponde a uma operação CRUD básica e usa as funções do Mongoose para interagir com o MongoDB.

Conclusão

Criar uma API com Node.js e MongoDB usando ES6 é uma tarefa relativamente simples, mas pode ser um pouco complicada se você nunca trabalhou com essas tecnologias antes. Neste artigo, mostramos como configurar o ambiente de desenvolvimento, criar um projeto Node.js, instalar as dependências necessárias, configurar o servidor Express, configurar o MongoDB, criar um modelo Mongoose e criar as rotas para nossa API.

Agora que você tem uma boa compreensão de como criar uma API com Node.js e MongoDB usando ES6, pode começar a criar suas próprias APIs e explorar as muitas possibilidades que essas tecnologias oferecem. Lembre-se de sempre seguir as melhores práticas de desenvolvimento e de manter seu código limpo e organizado.

Top comments (0)