Melhores Práticas de Design de API
Documente alterações que quebram a compatibilidade como migrações de banco de dados: deliberadas, revisadas e anunciadas. Essas práticas mantêm as APIs HTTP do Node.js previsíveis para integradores.
Busque em todas as páginas da documentação
Documente alterações que quebram a compatibilidade como migrações de banco de dados: deliberadas, revisadas e anunciadas. Essas práticas mantêm as APIs HTTP do Node.js previsíveis para integradores.
/v1/pedidos, não /getPedidos.{ data } sucesso, { error } ou Problem Details em falha.code estável por tipo de erro. Clientes nunca analisam message em inglês.requestId no payload de erro para correlação de suporte.limit em 100./v1. Nova quebra principal -> /v2.* com credenciais.express.json({ limit }) ou Fastify bodyLimit./health/live e /health/ready.B2B público segue a lista completa. /admin interno pode usar paginação por offset e erros mais simples se documentado.
Use convenções GraphQL para erros e versionamento; a lista REST ainda se aplica a payloads de webhook.
Ferramentas internas e ações POST no estilo Stripe (/v1/payment_intents/:id/capture) como sub-recursos, não verbos de nível superior.
Escolha um em toda a organização. APIs JavaScript geralmente usam camelCase; documente em OpenAPI.
Checklist + diff de OpenAPI + exemplo de curl na descrição do PR.
Campo eventVersion; segredo de assinatura separado por versão principal se o formato do payload mudar.
Vale a pena para recursos GET cacheados; If-None-Match retorna 304.
POST /v1/pedidos:batch ou /v1/pedidos/batch - documente o formato de sucesso parcial.
Multipart documentado separadamente; não forçado no envelope JSON.
Renomeação de campo que quebra a compatibilidade sem atualização de versão - evitado pela seção E.
Versões da Stack: Esta página foi escrita para Node.js 24.18.0 (LTS Ativo), npm 10+, TypeScript 5.6+, Express 5, Fastify 5, e NestJS 11.
Revisado por Chris St. John·Última atualização: 19 de jul. de 2026