Pular para o conteúdo
Código e Café com PauloDev: Explorando o Universo da Programação

Código e Café com PauloDev: Explorando o Universo da Programação

Explore o universo da programação e tecnologia com PauloDev. Descubra insights, tutoriais e inovações que moldam o futuro digital. De linhas de código a ideias revolucionárias, embarque nesta jornada tech onde a paixão pela inovação se encontra com a expertise do desenvolvimento. Seja bem-vindo ao blog que transforma códigos em narrativas de vanguarda, guiado pela visão única de PauloDev no vasto panorama tecnológico.

  • Meu portifolio

Criando uma API RESTful com Node.js e Express: Um Guia Passo a Passo

19 de dezembro de 2023
Por Paulo In API, Back-end, Boas Práticas, JavaScript, Node

Criando uma API RESTful com Node.js e Express: Um Guia Passo a Passo

O Node.js, em conjunto com o framework Express, oferece uma poderosa combinação para o desenvolvimento rápido de APIs RESTful. Neste guia, vamos explorar como criar uma API básica utilizando essas tecnologias.

Passo 1: Configurando o Ambiente de Desenvolvimento

Instale o Node.js e o npm:

Certifique-se de ter o Node.js e o npm (Node Package Manager) instalados. Você pode baixá-los em nodejs.org.

Passo 2: Inicializando um Projeto Node.js

Crie um diretório para o projeto:

mkdir minha-api
cd minha-api

Inicialize o projeto Node.js:

npm init -y

Passo 3: Instalando o Express

Instale o Express:

npm install express

Passo 4: Criando a Estrutura Básica da API

Crie um arquivo index.js:

const express = require('express');
const app = express();
const PORT = 3000;

app.use(express.json());

app.get('/', (req, res) => {
  res.send('Bem-vindo à API!');
});

app.listen(PORT, () => {
  console.log(`Servidor rodando em http://localhost:${PORT}`);
});

Passo 5: Adicionando Rotas e Endpoints

Adicione uma rota para listar recursos:

const livros = [
  { id: 1, titulo: 'Aprendendo Node.js', autor: 'John Doe' },
  { id: 2, titulo: 'Express para Iniciantes', autor: 'Jane Doe' },
];

app.get('/livros', (req, res) => {
  res.json(livros);
});

Adicione uma rota para obter um recurso específico:

app.get('/livros/:id', (req, res) => {
  const livro = livros.find((livro) => livro.id === parseInt(req.params.id));
  if (!livro) return res.status(404).send('Livro não encontrado');
  res.json(livro);
});

Passo 6: Adicionando Rotas de Criação e Atualização de Recursos

Adicione uma rota para criar um novo recurso

app.post('/livros', (req, res) => {
  const novoLivro = {
    id: livros.length + 1,
    titulo: req.body.titulo,
    autor: req.body.autor,
  };

  livros.push(novoLivro);
  res.json(novoLivro);
});

Adicione uma rota para atualizar um recurso existente:

app.put('/livros/:id', (req, res) => {
  const livro = livros.find((livro) => livro.id === parseInt(req.params.id));
  if (!livro) return res.status(404).send('Livro não encontrado');

  livro.titulo = req.body.titulo;
  livro.autor = req.body.autor;

  res.json(livro);
});

Passo 7: Adicionando uma Rota para Excluir Recursos

Adicione uma rota para excluir um recurso:

app.delete('/livros/:id', (req, res) => {
  const livroIndex = livros.findIndex((livro) => livro.id === parseInt(req.params.id));
  if (livroIndex === -1) return res.status(404).send('Livro não encontrado');

  const livroRemovido = livros.splice(livroIndex, 1);
  res.json(livroRemovido);
});

Passo 8: Rodando a Aplicação

Inicie o servidor:

node index.js

Teste as rotas usando um cliente HTTP ou ferramenta como o Postman.

Conclusão:

Com este guia, você criou uma API RESTful básica usando Node.js e Express. Lembre-se de que este é um exemplo simples, e em ambientes de produção, você deve considerar questões de segurança, manipulação de erros, autenticação e autorização. O Node.js e o Express oferecem uma base sólida para construir aplicações web eficientes e escaláveis.

Promoção
Written by:

Paulo

Ver todos os posts

Categorias

  • Android
  • Android Studio
  • Angular
  • API
  • AWS
  • Back-end
  • Bash
  • Boas Práticas
  • CSharp
  • CSS
  • Django
  • Docker
  • Electron
  • Front-end
  • Git
  • Github
  • Html
  • Http
  • Java
  • JavaScript
  • Laravel
  • Linha de comando
  • Linux
  • Machine Learning
  • Metodologias
  • Mysql
  • Node
  • NoSql
  • PHP
  • Power Shell
  • Python
  • Segurança
  • Sem categoria
  • SQL
  • Tecnologia
  • Testes
  • VueJs
  • Windows

Últimos posts

  • Python para o desenvolvimento Web: Como o Django pode alavancar na escrita do seu código
  • Conheça as Transactions e como elas podem te ajudar a testar o seu sistema
  • Melhorando a performance dos seus projetos PHP, conheça o OPCache e o JIT
  • Redis com Laravel: Uma ferramenta poderosa para o escalonamento horizontal da sua aplicação
  • Conhecendo e configurando um servidor de Load Balance com YARP e NGINX

© Todos os direitos reservados PauloDev 2023