Routing em Express.js: Lidando com as solicitações do usuário

No Express.js, routing é um conceito crucial que permite definir como seu aplicativo lida com as solicitações HTTP recebidas dos usuários. As rotas permitem que você especifique ações específicas quando os usuários enviam solicitações para URLs específicos em seu aplicativo.

Passo 1: Criando um Básico Route

Para criar um route in Express.js, você usa o app.METHOD(PATH, HANDLER) método do objeto de aplicativo( app) para registrar um route para um método HTTP específico METHOD e um caminho PATH. O HANDLER é uma função de manipulador que será chamada quando uma solicitação atingir esse arquivo route.

Por exemplo, para criar um route que processe uma GET solicitação para /hello, você pode usar o seguinte código:

app.get('/hello',(req, res) => {  
  res.send('Hello, this is the /hello route!');  
});  

Etapa 2: lidar com solicitações e respostas

Na função do manipulador, você pode lidar com as solicitações recebidas dos usuários e responder usando os objetos req(solicitação) e(resposta). res O req objeto contém informações sobre a solicitação recebida, como parâmetros de URL, dados enviados, endereço IP do remetente etc. O res objeto contém métodos para responder à solicitação, como res.send(), res.json(), res.render(), etc.

Passo 3: Manipulando Rotas Múltiplas

Express.js permite definir várias rotas para o mesmo URL com diferentes métodos HTTP. Por exemplo:

app.get('/hello',(req, res) => {  
  res.send('Hello, this is the GET /hello route!');  
});  
  
app.post('/hello',(req, res) => {  
  res.send('Hello, this is the POST /hello route!');  
});  

Passo 4: Manipulando Parâmetros Dinâmicos

Você também pode definir rotas que contenham parâmetros dinâmicos, definidos por dois pontos( :). Por exemplo:

app.get('/users/:id',(req, res) => {  
  const userId = req.params.id;  
  res.send(`Hello, this is the GET /users/${userId} route!`);  
});  

Quando um usuário fizer uma requisição para /users/123, a userId variável terá o valor "123".

Etapa 5: separar Routing com módulos

Em projetos maiores, você pode querer separar as rotas em arquivos separados para manter seu código-fonte organizado e gerenciável. Você pode usar module.exports para definir rotas em arquivos separados e depois importá-los para o arquivo principal. Por exemplo:

// routes/users.js  
const express = require('express');  
const router = express.Router();  
  
router.get('/profile',(req, res) => {  
  res.send('This is the /profile route in users.js!');  
});  
  
module.exports = router;  
// app.js  
const usersRouter = require('./routes/users');  
app.use('/users', usersRouter);  

Passo 6: Manipulando Rotas Inexistentes

Por fim, se um usuário solicitar um inexistente route, você poderá definir um 404 route para lidar com isso. Isso é feito definindo um padrão route no final do arquivo principal:

app.use((req, res, next) => {  
  res.status(404).send('Route not found!');  
});  

Aprendemos como criar e manipular rotas em Express.js. Ao usar esse recurso, você pode personalizar e lidar com as solicitações do usuário de maneira flexível e poderosa, tornando seu aplicativo mais adaptável e escalável. Continue explorando e utilizando rotas na construção de aplicativos da web ricos e fantásticos!