3.5. Conceitos básicos de NodeJS: Rotas e manipulação de requisições
Página 8 | Ouça em áudio
NodeJS é uma plataforma de desenvolvimento de aplicações server-side baseada no motor JavaScript V8 do Google Chrome. Ele permite aos desenvolvedores criar servidores web rápidos e escaláveis. Uma das principais características do NodeJS é o uso do modelo de programação orientada a eventos, que é especialmente útil para aplicações que necessitam de alto I/O e baixo consumo de CPU.
Antes de mergulharmos nos conceitos de rotas e manipulação de requisições, é importante entender o que são APIs. API é a sigla para Application Programming Interface, que em tradução livre significa Interface de Programação de Aplicações. As APIs permitem a interação entre diferentes softwares de maneira fácil e segura, sendo uma forma de integrar sistemas, possibilitando benefícios como a segurança dos dados, a integração com outros sistemas e a automação de tarefas.
Rotas
No contexto de uma API, uma rota é um caminho ou uma URL onde a API pode ser acessada. Cada rota representa um recurso específico que a API expõe aos seus usuários. No NodeJS, as rotas são definidas utilizando o módulo Express, que é um framework para NodeJS que fornece funcionalidades para construção de aplicações web e APIs.
Por exemplo, um servidor web simples com duas rotas pode ser criado da seguinte maneira:
var express = require('express'); var app = express(); app.get('/', function(req, res) { res.send('Hello World!'); }); app.get('/api/users', function(req, res) { res.send('List of users'); }); app.listen(3000, function() { console.log('Example app listening on port 3000!'); });
No código acima, a primeira rota é a rota raiz ('/') e a segunda rota é a rota '/api/users'. A função app.get() é usada para definir as rotas. O primeiro argumento é o caminho da rota e o segundo argumento é uma função de callback que será executada quando a rota for acessada.
Manipulação de Requisições
A função de callback recebe dois argumentos: req e res. O argumento req representa a requisição que foi enviada para o servidor e o argumento res representa a resposta que o servidor enviará de volta para o cliente.
O objeto req contém informações sobre a requisição, como os parâmetros da URL, os dados enviados no corpo da requisição, os cabeçalhos da requisição, entre outras informações. O objeto res é usado para enviar a resposta para o cliente. Ele possui métodos para enviar a resposta como um arquivo, como um JSON, como texto, entre outros formatos.
Por exemplo, para enviar um JSON como resposta, você pode fazer da seguinte maneira:
app.get('/api/users', function(req, res) { var users = [ { id: 1, name: 'John Doe' }, { id: 2, name: 'Jane Doe' } ]; res.json(users); });
No código acima, quando a rota '/api/users' é acessada, o servidor retorna um JSON com uma lista de usuários.
Para manipular os dados enviados no corpo da requisição, você pode usar o middleware body-parser do Express. O body-parser extrai todo o corpo da requisição e o coloca no objeto req.body. Por exemplo:
var bodyParser = require('body-parser'); app.use(bodyParser.json()); app.post('/api/users', function(req, res) { var user = req.body; // Aqui você pode adicionar o usuário ao banco de dados res.json(user); });
No código acima, quando uma requisição POST é enviada para a rota '/api/users', o servidor extrai o corpo da requisição e o retorna como resposta.
Em resumo, as rotas são os caminhos que os usuários da API podem acessar e a manipulação de requisições é a forma como o servidor lida com as requisições que são enviadas para essas rotas. Esses são conceitos fundamentais para a criação de APIs em NodeJS.
Agora responda o exercício sobre o conteúdo:
O que é uma rota no contexto de uma API em NodeJS e como ela é definida?
Você acertou! Parabéns, agora siga para a próxima página
Você errou! Tente novamente.
Próxima página do Ebook Gratuito: