NodeJS é uma plataforma de desenvolvimento de software que permite a execução de JavaScript no lado do servidor. ExpressJS, por outro lado, é um framework para NodeJS que fornece recursos para a construção de APIs web de uma maneira rápida e fácil. Neste capítulo, exploraremos como criar uma API REST básica usando NodeJS e ExpressJS, com foco na implementação dos métodos HTTP.
Configurando o ambiente
Antes de começar a construir nossa API, precisamos instalar o NodeJS e o ExpressJS. Você pode baixar o NodeJS do site oficial e, após a instalação, pode instalar o ExpressJS usando o gerenciador de pacotes npm que vem com o NodeJS. O comando a seguir instala o ExpressJS:
npm install express
Criando a estrutura básica do projeto
Para o nosso projeto, vamos criar uma pasta chamada "api-rest-node", e dentro dela, vamos criar um arquivo chamado "app.js". Este arquivo será o ponto de entrada para nossa aplicação. Dentro do "app.js", vamos importar o express e criar uma instância do mesmo:
const express = require('express');
const app = express();
Em seguida, vamos dizer ao nosso aplicativo para escutar na porta 3000:
app.listen(3000);
Implementação dos métodos HTTP
Os métodos HTTP são as operações que podemos realizar em um recurso em uma API REST. Os mais comuns são GET, POST, PUT e DELETE. Vamos implementar cada um deles.
GET
O método GET é usado para recuperar dados de um recurso. No ExpressJS, podemos implementar uma rota GET da seguinte maneira:
app.get('/recursos', (req, res) => {
res.send('Recuperando recursos');
});
Aqui, estamos dizendo ao ExpressJS para responder com "Recuperando recursos" quando um cliente faz uma solicitação GET para "/recursos".
POST
O método POST é usado para enviar dados a um recurso. A implementação de uma rota POST é semelhante à de uma rota GET:
app.post('/recursos', (req, res) => {
res.send('Criando um recurso');
});
Aqui, estamos respondendo com "Criando um recurso" quando um cliente faz uma solicitação POST para "/recursos".
PUT
O método PUT é usado para atualizar um recurso existente. A implementação de uma rota PUT é a seguinte:
app.put('/recursos/:id', (req, res) => {
res.send(`Atualizando o recurso com id ${req.params.id}`);
});
Aqui, estamos respondendo com "Atualizando o recurso com id {id}" quando um cliente faz uma solicitação PUT para "/recursos/{id}".
DELETE
O método DELETE é usado para excluir um recurso. A implementação de uma rota DELETE é a seguinte:
app.delete('/recursos/:id', (req, res) => {
res.send(`Excluindo o recurso com id ${req.params.id}`);
});
Aqui, estamos respondendo com "Excluindo o recurso com id {id}" quando um cliente faz uma solicitação DELETE para "/recursos/{id}".
Conclusão
Com isso, criamos uma API REST básica com NodeJS e ExpressJS, implementando os métodos HTTP mais comuns. No entanto, esta é apenas a ponta do iceberg. Há muito mais que você pode fazer com NodeJS e ExpressJS, incluindo autenticação, validação de dados, manipulação de erros e muito mais. Esperamos que este guia tenha te dado uma boa base para começar a explorar mais.