Construir um servidor básico com NodeJS é uma tarefa fundamental para qualquer desenvolvedor que deseja criar APIs robustas e eficientes. Neste capítulo, vamos abordar como definir rotas e endpoints para criar um servidor básico em NodeJS.
Primeiros passos
Antes de começarmos a criar nosso servidor, precisamos instalar o NodeJS e o NPM (Node Package Manager) em nosso sistema. Ambos são ferramentas essenciais para o desenvolvimento de aplicações em NodeJS. Você pode baixá-los e instalá-los a partir de seus respectivos sites oficiais.
Criando um servidor básico
Depois de instalar o NodeJS e o NPM, vamos começar a criar nosso servidor. Primeiro, crie um novo diretório para o seu projeto e navegue até ele usando o terminal. Em seguida, inicialize um novo projeto NodeJS com o comando 'npm init'. Isso criará um novo arquivo 'package.json' em seu diretório, que contém informações sobre seu projeto e suas dependências.
Agora, vamos instalar o pacote 'express', que é um framework para NodeJS que simplifica a criação de servidores web. Você pode instalar o express com o comando 'npm install express'.
Com o express instalado, vamos criar um novo arquivo chamado 'server.js'. Este será o arquivo principal do nosso servidor. No 'server.js', vamos importar o express e criar uma nova instância dele:
const express = require('express');
const app = express();
Definindo rotas e endpoints
Com nosso servidor criado, agora podemos definir rotas e endpoints. As rotas são os caminhos que os usuários podem acessar em nosso servidor, enquanto os endpoints são as funções que são executadas quando uma rota específica é acessada.
Vamos definir uma rota simples que retorna uma mensagem de boas-vindas quando o usuário acessa a rota raiz ('/') do nosso servidor:
app.get('/', (req, res) => {
res.send('Bem-vindo ao nosso servidor NodeJS!');
});
Neste código, 'app.get' é uma função que define um novo endpoint para a rota '/'. A função recebe dois argumentos: 'req' e 'res'. 'req' é o objeto de solicitação, que contém informações sobre a solicitação do usuário, como parâmetros de URL e dados de corpo. 'res' é o objeto de resposta, que é usado para enviar uma resposta ao usuário.
Agora, vamos definir uma rota que aceita parâmetros. Vamos criar uma rota '/users/:id', que retorna os detalhes de um usuário específico com base em seu ID:
app.get('/users/:id', (req, res) => {
const id = req.params.id;
// Aqui, você normalmente buscaria os detalhes do usuário em um banco de dados
res.send(`Detalhes do usuário com ID: ${id}`);
});
Neste código, ':id' é um parâmetro de rota. Você pode acessar o valor deste parâmetro usando 'req.params.id'.
Conclusão
Com isso, temos um servidor básico em NodeJS com algumas rotas e endpoints definidos. Para iniciar o servidor, você pode usar o comando 'node server.js' em seu terminal. Agora, você pode acessar seu servidor em 'http://localhost:3000' em seu navegador ou usando uma ferramenta como Postman.
Definir rotas e endpoints é uma parte essencial da criação de APIs em NodeJS. Com a prática, você será capaz de criar servidores mais complexos com várias rotas e endpoints, e integrá-los com bancos de dados e outras tecnologias.