7.4. Trabalhando com rotas no ExpressJS: Utilizando middlewares nas rotas

Página 50

Um dos aspectos mais importantes na criação de APIs é a definição e a manipulação de rotas. As rotas são os caminhos que os usuários ou clientes de uma API seguem para acessar diferentes recursos ou funcionalidades. No NodeJS, utilizamos o ExpressJS, um framework minimalista e flexível, para lidar com rotas de maneira eficiente. Uma das características mais poderosas do ExpressJS é a capacidade de usar middlewares nas rotas. Vamos explorar essa funcionalidade em detalhes.

O que são Middlewares?

Em termos simples, middlewares são funções que têm acesso ao objeto de solicitação (req), ao objeto de resposta (res) e à próxima função de middleware no ciclo de solicitação/resposta do aplicativo. Eles são usados para modificar req e res, ou para terminar o ciclo de solicitação/resposta. Se um middleware não terminar o ciclo, ele deve chamar next() para passar o controle para o próximo middleware.

Utilizando Middlewares nas Rotas

Os middlewares no ExpressJS podem ser aplicados globalmente ou a rotas específicas. Para aplicar um middleware a uma rota específica, você simplesmente o passa como um argumento adicional para o manipulador de rota. Por exemplo:

app.get('/example', middlewareFunction, (req, res) => {
  res.send('Hello World!');
});

Neste caso, middlewareFunction é uma função que será executada antes do manipulador de rota. Ela pode modificar o objeto req ou res, ou mesmo terminar a solicitação e enviar uma resposta.

Exemplos de Middlewares

Existem muitos usos práticos para middlewares em rotas. Aqui estão alguns exemplos:

Autenticação

Um middleware de autenticação pode verificar se um usuário está autenticado antes de permitir que ele acesse uma rota. Se o usuário não estiver autenticado, o middleware pode terminar a solicitação e enviar uma resposta de erro. Se o usuário estiver autenticado, o middleware pode adicionar informações do usuário ao objeto req para que o manipulador de rota possa usá-las.

Validação de dados

Um middleware de validação de dados pode verificar se os dados enviados em uma solicitação POST ou PUT são válidos. Se os dados não forem válidos, o middleware pode terminar a solicitação e enviar uma resposta de erro. Se os dados forem válidos, o middleware pode passar o controle para o próximo middleware ou manipulador de rota.

Log

Um middleware de log pode registrar detalhes sobre cada solicitação em um arquivo ou banco de dados. Isso pode ser útil para depuração ou para manter um registro de todas as solicitações que chegam ao servidor.

Conclusão

Os middlewares oferecem uma maneira poderosa de adicionar funcionalidades a suas rotas no ExpressJS. Eles permitem que você reutilize a lógica em várias rotas, mantendo seu código DRY (Don't Repeat Yourself). Além disso, eles podem ajudar a melhorar a segurança de sua API, garantindo que apenas usuários autenticados possam acessar certas rotas, e que os dados enviados para sua API sejam sempre válidos.

Espero que este capítulo tenha lhe dado uma boa compreensão de como trabalhar com rotas no ExpressJS e como utilizar middlewares nas rotas. No próximo capítulo, vamos mergulhar mais fundo no ExpressJS e explorar algumas de suas outras características poderosas.

Now answer the exercise about the content:

O que são Middlewares no contexto do ExpressJS e como eles são utilizados?

You are right! Congratulations, now go to the next page

You missed! Try again.

Next page of the Free Ebook:

517.5. Trabalhando com rotas no ExpressJS: Trabalhando com rotas de autenticação

Earn your Certificate for this Course for Free! by downloading the Cursa app and reading the ebook there. Available on Google Play or App Store!

Get it on Google Play Get it on App Store

+ 6.5 million
students

Free and Valid
Certificate with QR Code

48 thousand free
exercises

4.8/5 rating in
app stores

Free courses in
video, audio and text