Leodario.com

Leodario.com – Tudo sobre Tecnologia

Aula 26 – API JavaScript, Node.js e Express – Express Setup – Primeiro servidor HTTP

Imagem destacada da aula de API

Introdução (3 min)

Imagine um restaurante. O garçom é a interface entre você e a cozinha (onde a mágica acontece). Seu pedido (um request) é levado pelo garçom e a comida (a response) é trazida de volta. Um servidor HTTP faz o mesmo: recebe requisições de clientes (como navegadores web) e retorna respostas (como páginas HTML ou dados).

Dominar a criação de servidores HTTP é essencial para o desenvolvimento de APIs modernas e robustas, permitindo a comunicação entre diferentes sistemas e aplicações. Nesta aula, você entenderá como construir seu primeiro servidor HTTP com Node.js e Express, a base para qualquer projeto back-end.

Dentro do ecossistema Node.js, o Express atua como um framework simplificador, facilitando a configuração e o gerenciamento do seu servidor. Ele abstrai complexidades e fornece ferramentas poderosas para lidar com rotas, middlewares e muito mais.

Conceito Fundamental (7 min)

Um servidor HTTP é um programa que escuta requisições em uma porta específica e as atende conforme regras predefinidas. Ele utiliza o protocolo HTTP (Hypertext Transfer Protocol) para essa comunicação. A terminologia importante aqui inclui request (requisição), response (resposta), métodos HTTP (GET, POST, PUT, DELETE), status codes (200 OK, 404 Not Found), headers (informações adicionais) e body (conteúdo da mensagem).

Em produção, servidores HTTP são utilizados em inúmeros cenários, desde servir páginas web estáticas até prover APIs para aplicativos mobile e integrar sistemas complexos. Eles se integram com bancos de dados, sistemas de cache, filas de mensagens e diversas outras tecnologias.

Criar seu próprio servidor oferece vantagens como controle total sobre o ambiente, flexibilidade de configuração e otimização de performance. A principal desvantagem é a responsabilidade pelo gerenciamento e manutenção do servidor.

Implementação Prática (10 min)

// Importa o módulo Express
const express = require('express');

// Cria uma instância do aplicativo Express const app = express();

// Define a porta que o servidor irá escutar const PORT = process.env.PORT || 3000; // Usa a porta definida pelo HostGator ou 3000 como padrão

// Rota principal ("/") que retorna uma mensagem app.get('/', (req, res) => { // Log da requisição recebida console.log('Requisição recebida na rota /');

// Envia a resposta "Hello World!" com status code 200 res.status(200).send('Hello World!'); });

// Inicia o servidor na porta especificada app.listen(PORT, () => { console.log(Servidor rodando na porta ${PORT}); });

No HostGator Plano M, você pode definir a porta através da variável de ambiente PORT. O código acima verifica se essa variável está definida e a utiliza. Caso contrário, utiliza a porta 3000.

O método app.get() define uma rota que responde a requisições GET na URL “/”. Dentro da função de callback, req representa a requisição e res a resposta. O res.send() envia a resposta ao cliente.

Alternativamente, podemos usar res.json() para retornar dados em formato JSON:

app.get('/dados', (req, res) => {
  res.json({ mensagem: 'Dados da API', versao: '1.0' });
});

Exercício Hands-On (5 min)

Crie uma nova rota /sobre que retorne um objeto JSON com informações sobre você (nome, cidade, etc.).

Solução:

app.get('/sobre', (req, res) => {
  res.json({ nome: 'Seu Nome', cidade: 'Sua Cidade' });
});

Para testar, execute o servidor com node seu_arquivo.js e acesse http://localhost:3000/sobre no seu navegador.

Troubleshooting: Se o servidor não iniciar, verifique se o Node.js e o Express estão instalados corretamente (npm install express). Se houver erros no código, revise a sintaxe e as mensagens de erro no console.

Próximos passos: Explore outros métodos HTTP (POST, PUT, DELETE), aprenda sobre middlewares e roteamento avançado no Express.

🚀 Pronto para a próxima aula?

Continue sua jornada no desenvolvimento de APIs e domine Node.js & Express!

📚 Ver todas as aulas