Como usar parâmetros de URL nas rotas do Express.js?
No Express.js, os parâmetros de URL permitem capturar valores dinâmicos dentro da rota. Isso é útil para buscar informações específicas, como um usuário por ID.
1. Definindo parâmetros de rota
Para definir um parâmetro na URL, usamos :
seguido do nome do parâmetro.
const express = require('express');
const app = express();
app.get('/usuarios/:id', (req, res) => {
const id = req.params.id;
res.json({ mensagem: `Usuário com ID: ${id}` });
});
app.listen(3000, () => {
console.log('Servidor rodando na porta 3000');
});
2. Como funciona o req.params?
No exemplo acima:
- Se acessarmos
http://localhost:3000/usuarios/10
, a resposta será:
{
"mensagem": "Usuário com ID: 10"
}
- Se acessarmos
http://localhost:3000/usuarios/25
, a resposta será:
{
"mensagem": "Usuário com ID: 25"
}
3. Utilizando múltiplos parâmetros
Podemos definir mais de um parâmetro na rota:
app.get('/usuarios/:id/posts/:postId', (req, res) => {
const { id, postId } = req.params;
res.json({ mensagem: `Post ${postId} do usuário ${id}` });
});
Acessando http://localhost:3000/usuarios/10/posts/5
, a resposta será:
{
"mensagem": "Post 5 do usuário 10"
}
4. Definindo parâmetros opcionais
Podemos tornar um parâmetro opcional usando ?
.
app.get('/produtos/:categoria?/:id?', (req, res) => {
res.json(req.params);
});
Se acessarmos http://localhost:3000/produtos/eletronicos/30
, teremos:
{
"categoria": "eletronicos",
"id": "30"
}
Se acessarmos apenas http://localhost:3000/produtos/eletronicos
, teremos:
{
"categoria": "eletronicos"
}
Conclusão
Os parâmetros de URL tornam as rotas mais flexíveis e dinâmicas, permitindo a criação de APIs organizadas e funcionais. Eles são essenciais para recuperar informações específicas dentro da aplicação.
Por que usar parâmetros de URL melhora a estrutura das APIs?
As URLs dinâmicas fazem parte da construção de APIs modernas. No Express.js, o uso de req.params
facilita a recuperação de dados sem a necessidade de múltiplas rotas fixas.
Plataformas como Facebook e Twitter utilizam parâmetros de URL para exibir conteúdos personalizados, como perfis de usuários e postagens. Esse conceito é amplamente utilizado para melhorar a experiência do usuário e otimizar a organização dos endpoints.
Algumas aplicações:
- Recuperação de dados por ID
- Exibição de perfis de usuários
- Filtragem de produtos por categoria
- Criação de URLs amigáveis e dinâmicas
- Integração com sistemas de gestão
Dicas para quem está começando
- Use
req.params
para capturar valores passados na URL. - Evite definir muitas rotas fixas, prefira rotas dinâmicas.
- Para múltiplos parâmetros, utilize
req.params.nomeDoParametro
. - Teste suas rotas com Postman ou Insomnia para validar os dados retornados.
- Utilize middleware de validação para garantir que os parâmetros sejam válidos antes de processá-los.
Contribuições de Henrique Almeida