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.

Agora responda o exercício sobre o conteúdo:

Qual é a função das rotas no ExpressJS na criação de APIs em NodeJS?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

Imagem do artigo Trabalhando com rotas no ExpressJS: Criando rotas básicas

Próxima página do Ebook Gratuito:

47Trabalhando com rotas no ExpressJS: Criando rotas básicas

4 minutos

Ganhe seu Certificado deste Curso Gratuitamente! ao baixar o aplicativo Cursa e ler o ebook por lá. Disponível na Google Play ou App Store!

Disponível no Google Play Disponível no App Store

+ de 6,5 milhões
de alunos

Certificado Gratuito e
Válido em todo o Brasil

48 mil exercícios
gratuitos

4,8/5 classificação
nas lojas de apps

Cursos gratuitos em
vídeo, áudio e texto