Um dos elementos mais importantes na criação de uma API REST básica com NodeJS e ExpressJS é a criação dos controladores. Os controladores são responsáveis por gerenciar as solicitações e respostas do servidor, facilitando a comunicação entre o cliente e o servidor.
1. Iniciando o projeto
Para começar, você precisa instalar o NodeJS e o ExpressJS em seu sistema. Você pode fazer isso usando o gerenciador de pacotes npm. No terminal, digite os seguintes comandos:
npm init -y npm install express --save
Isso irá inicializar um novo projeto NodeJS e instalar o ExpressJS.
2. Criando o servidor
Com o ExpressJS instalado, você pode criar um servidor básico. Crie um novo arquivo chamado 'server.js' e adicione o seguinte código:
const express = require('express'); const app = express(); const port = 3000; app.listen(port, () => { console.log(`Server running at http://localhost:${port}`); });
Esse código cria um novo servidor ExpressJS que escuta na porta 3000.
3. Criando os controladores
Agora, vamos criar os controladores. Em uma API REST, os controladores são funções que lidam com as solicitações HTTP e enviam uma resposta. Vamos criar um controlador para cada operação CRUD (Create, Read, Update, Delete).
Crie um novo diretório chamado 'controllers' e, dentro dele, crie um arquivo chamado 'userController.js'. Neste arquivo, adicione o seguinte código:
exports.getAllUsers = (req, res) => { res.status(200).json({ status: 'success', data: { users: [] } }); }; exports.createUser = (req, res) => { res.status(201).json({ status: 'success', data: { user: {} } }); }; exports.getUser = (req, res) => { res.status(200).json({ status: 'success', data: { user: {} } }); }; exports.updateUser = (req, res) => { res.status(200).json({ status: 'success', data: { user: {} } }); }; exports.deleteUser = (req, res) => { res.status(204).json({ status: 'success', data: null }); };
Esses são os controladores básicos para as operações CRUD. Eles não estão fazendo muito agora, mas você pode expandi-los para interagir com um banco de dados ou outra fonte de dados.
4. Configurando as rotas
Com os controladores criados, você precisa configurar as rotas. As rotas são as URLs que os clientes usam para acessar as funções do controlador.
Crie um novo diretório chamado 'routes' e, dentro dele, crie um arquivo chamado 'userRoutes.js'. Neste arquivo, adicione o seguinte código:
const express = require('express'); const userController = require('../controllers/userController'); const router = express.Router(); router.route('/') .get(userController.getAllUsers) .post(userController.createUser); router.route('/:id') .get(userController.getUser) .patch(userController.updateUser) .delete(userController.deleteUser); module.exports = router;
Esse código cria as rotas para as funções do controlador. Agora, se você iniciar o servidor e acessar 'http://localhost:3000/', você poderá usar as operações CRUD na API.
Em resumo, a criação de uma API REST básica com NodeJS e ExpressJS envolve a criação de um servidor, a definição de controladores para lidar com solicitações e respostas, e a configuração de rotas para que os clientes possam acessar as funções do controlador. Com esses componentes básicos, você pode criar uma API REST poderosa e flexível.