10.5. Criando uma API REST básica com NodeJS e ExpressJS: Criação dos controladores

Página 70

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.

Now answer the exercise about the content:

Qual é a função dos controladores em uma API REST básica criada com NodeJS e ExpressJS?

You are right! Congratulations, now go to the next page

You missed! Try again.

Next page of the Free Ebook:

7110.6. Criando uma API REST básica com NodeJS e ExpressJS: Implementação dos métodos HTTP

Earn your Certificate for this Course for Free! by downloading the Cursa app and reading the ebook there. Available on Google Play or App Store!

Get it on Google Play Get it on App Store

+ 6.5 million
students

Free and Valid
Certificate with QR Code

48 thousand free
exercises

4.8/5 rating in
app stores

Free courses in
video, audio and text