As rotas são uma parte fundamental do desenvolvimento de APIs em NodeJS usando ExpressJS. Elas definem os pontos de entrada para o seu aplicativo e como eles devem responder a diferentes tipos de solicitações HTTP. Nesta seção, vamos explorar como trabalhar com rotas no ExpressJS, com foco especial em como passar parâmetros nas rotas.
Entendendo as Rotas
Em ExpressJS, uma rota é um caminho definido em seu aplicativo. Cada rota pode ter um ou mais manipuladores de função, que são executados quando a rota é correspondida. O roteamento é como o ExpressJS decide qual função de manipulador executar para uma determinada solicitação HTTP.
Definindo Rotas
Para definir uma rota em ExpressJS, você usa métodos no objeto de aplicativo que correspondem aos verbos HTTP. Por exemplo, para uma rota GET, você usaria app.get(). Para uma rota POST, você usaria app.post(). Cada um desses métodos aceita dois argumentos: a string de rota e a função de manipulador.
Aqui está um exemplo de como definir uma rota GET simples:
app.get('/example', function(req, res) { res.send('Hello, world!'); });
Neste exemplo, a rota '/example' corresponderá a qualquer solicitação GET para '/example' e responderá com 'Hello, world!'.
Passando Parâmetros nas Rotas
Muitas vezes, você quer passar parâmetros para suas rotas. Isso pode ser útil para coisas como buscar um item específico de um banco de dados. Em ExpressJS, você pode passar parâmetros em rotas usando dois métodos: parâmetros de rota e parâmetros de consulta.
Parâmetros de Rota
Os parâmetros de rota são usados para capturar valores na URL. Eles são definidos na string da rota usando dois pontos e um nome. Por exemplo, para capturar um ID de usuário em uma rota, você pode definir sua rota assim:
app.get('/users/:userId', function(req, res) { let userId = req.params.userId; // Você pode agora usar userId para buscar o usuário no banco de dados });
Neste exemplo, qualquer coisa que venha após '/users/' na URL será capturada como 'userId'.
Parâmetros de Consulta
Os parâmetros de consulta são uma outra maneira de passar dados para suas rotas. Eles são adicionados à URL após um ponto de interrogação, e são separados por ampersands. Por exemplo, '/users?sort=desc'.
Para acessar parâmetros de consulta em ExpressJS, você usa req.query. Aqui está um exemplo:
app.get('/users', function(req, res) { let sort = req.query.sort; // Você pode agora usar sort para ordenar seus usuários });
Neste exemplo, 'sort' será o valor do parâmetro de consulta 'sort' na URL.
Conclusão
Trabalhar com rotas é uma parte fundamental do desenvolvimento de APIs em ExpressJS. Ao compreender como definir rotas e passar parâmetros, você pode criar APIs mais flexíveis e poderosas. Lembre-se, a prática é a chave para se tornar proficiente neste aspecto do ExpressJS, então continue a experimentar e a aprender.