DevPath · Aprenda a programar ESPTEN

Capstone: lance seu SaaS

O pipeline de uma requisição e o checklist de produção

O pipeline: validar → autenticar → tratar

Quando uma requisição chega à sua API, a ordem importa. Um handler robusto a processa sempre em três passos, e para assim que algo falha:

  1. Validar a entrada. Os dados obrigatórios vieram? Se não, responda 400 Bad Request e pare. Não faz sentido continuar com dados incompletos.
  2. Autenticar quem chama. Traz credenciais válidas (um cabeçalho de autorização, um token)? Se não, responda 401 Unauthorized e pare.
  3. Tratar a ação: já com dados bons e um usuário conhecido, execute a lógica (ler/criar/atualizar) e responda com sucesso, p. ex. 201 Created.
function tratarRequisicao(req, res, deps) {
  // 1. validar    -> 400 se faltar algo
  // 2. autenticar -> 401 se não houver credenciais
  // 3. tratar     -> usa deps para fazer o trabalho e responde 201
}

Repare que validamos antes de autenticar: rejeitar entradas malformadas é barato e não revela nada. As dependências (o banco de dados, o repo) são injetadas por parâmetro (deps): assim o handler é fácil de testar com mocks e não fica preso a uma implementação concreta.

Checklist de produção

"Funciona na minha máquina" não é estar pronto. Antes de abrir seu SaaS ao público, repasse uma lista mínima e inegociável:

Se algo dessa lista faltar, não se lança. Você vai construir uma função que toma o estado de cada item e diz se você está pronto e o que falta. E, como cada ambiente precisa de ajustes diferentes (um BD local em dev, um gerenciado em prod), você vai adicionar uma carregarConfig(env) que aplica valores padrão.

Coloque isto em prática

O DevPath é um curso prático: aqui você lê a teoria; no app você a coloca em prática com exercícios que rodam de verdade, offline.

Comece grátis no app →
← O plano: um SaaS multi-tenantVer o módulo →