Pular para o conteúdo
~/.primo-academy.sh
☰ Aulas · Backend · 0/15
Recomendado: essencial

REST: Endpoints e Status Codes

1 min de leitura

fonte

REST é um estilo de organizar sua API em "recursos" (usuários, posts, produtos) e usar os métodos HTTP como verbos sobre eles. É um padrão, não uma regra rígida - mas é o que 90% das APIs públicas seguem.

A convenção mais comum:

AçãoMétodoEndpointStatus de sucesso
Listar todosGET/usuarios200 OK
Pegar umGET/usuarios/:id200 OK
Criar novoPOST/usuarios201 Created
Atualizar totalPUT/usuarios/:id200 OK
Atualizar partePATCH/usuarios/:id200 OK
RemoverDELETE/usuarios/:id204 No Content

Exemplo completo em Express:

const usuarios = [{ id: 1, nome: "Ana" }];
let proximoId = 2;

app.get("/usuarios", (req, res) => res.json(usuarios));

app.get("/usuarios/:id", (req, res) => {
  const u = usuarios.find((x) => x.id === Number(req.params.id));
  if (!u) return res.status(404).json({ erro: "Não encontrado" });
  res.json(u);
});

app.post("/usuarios", (req, res) => {
  const novo = { id: proximoId++, ...req.body };
  usuarios.push(novo);
  res.status(201).json(novo);
});

app.delete("/usuarios/:id", (req, res) => {
  const idx = usuarios.findIndex((x) => x.id === Number(req.params.id));
  if (idx === -1) return res.status(404).json({ erro: "Não encontrado" });
  usuarios.splice(idx, 1);
  res.status(204).send();
});

Quatro boas práticas pra levar:

  • Plural nos recursos (/usuarios, não /usuario).
  • Status code significativo - 201 em criação, 404 em não-encontrado.
  • Corpo de erro em JSON com mensagem clara, ex: { erro: "..." }.
  • Semântica do método - nunca use GET pra deletar, mesmo que funcione.

No próximo nó, vamos tirar os usuários da memória e guardar num banco de dados de verdade.

// Quiz

Numa API REST, qual status HTTP indica 'recurso criado com sucesso'?

Escolha uma alternativa

// recursos

// avaliação da trilha

—
ainda sem avaliações