Trabalhar com rotas no ExpressJS é um aspecto crucial na criação de APIs em NodeJS. Rotas são, essencialmente, os diferentes caminhos que um aplicativo pode tomar, baseados na URL e no método HTTP que são solicitados. As rotas no ExpressJS permitem que você configure diferentes respostas para diferentes URLs, permitindo que você crie uma ampla variedade de funcionalidades para o seu aplicativo.
Configurando Rotas Básicas
Para começar a trabalhar com rotas no ExpressJS, você precisa primeiro instalar e configurar o ExpressJS. Uma vez que você tenha feito isso, você pode começar a definir rotas. Aqui está um exemplo de como definir uma rota básica:
const express = require('express');
const app = express();
app.get('/', function(req, res) {
res.send('Hello World!');
});
app.listen(3000, function() {
console.log('App listening on port 3000!');
});
Neste exemplo, estamos definindo uma rota para a URL base ("/") do nosso aplicativo. Quando um cliente solicita esta URL usando o método GET, o servidor responde enviando "Hello World!".
Trabalhando com Parâmetros de Rota
O ExpressJS permite que você defina parâmetros de rota, que são segmentos de URL que atuam como variáveis. Você pode definir parâmetros de rota usando dois pontos (":") seguidos pelo nome do parâmetro. Aqui está um exemplo:
app.get('/users/:userId', function(req, res) {
res.send('User ID is: ' + req.params.userId);
});
Neste exemplo, definimos um parâmetro de rota chamado "userId". Quando um cliente solicita uma URL como "/users/123", o servidor responde com "User ID is: 123".
Trabalhando com Vários Métodos HTTP
O ExpressJS suporta todos os métodos HTTP, incluindo GET, POST, PUT, DELETE e outros. Você pode definir rotas para diferentes métodos HTTP da seguinte maneira:
app.get('/users', function(req, res) {
res.send('Get a random user');
});
app.post('/users', function(req, res) {
res.send('Add a user');
});
app.put('/users/:userId', function(req, res) {
res.send('Update the user with the ID ' + req.params.userId);
});
app.delete('/users/:userId', function(req, res) {
res.send('Delete the user with the ID ' + req.params.userId);
});
Com este conjunto de rotas, nosso aplicativo pode responder a uma variedade de solicitações HTTP para a URL "/users".
Encadeando Manipuladores de Rotas
O ExpressJS permite que você encadeie manipuladores de rotas para uma rota específica. Isso é útil se você quiser executar várias funções para uma rota específica. Aqui está um exemplo:
app.route('/book')
.get(function(req, res) {
res.send('Get a random book');
})
.post(function(req, res) {
res.send('Add a book');
})
.put(function(req, res) {
res.send('Update the book');
})
.delete(function(req, res) {
res.send('Delete the book');
});
Neste exemplo, estamos encadeando quatro manipuladores de rotas para a URL "/book". Cada manipulador responde a um método HTTP diferente.
Conclusão
Trabalhar com rotas no ExpressJS é um aspecto fundamental na criação de APIs em NodeJS. As rotas permitem que você defina a lógica do seu aplicativo para diferentes URLs e métodos HTTP, permitindo que você crie uma ampla gama de funcionalidades para o seu aplicativo. Com o ExpressJS, você pode definir rotas básicas, trabalhar com parâmetros de rota, suportar vários métodos HTTP e encadear manipuladores de rotas.