Construir interfaces e APIs que se comunicam via HTTP — do HTML/CSS/JS ao servidor que aplica regras de negócio e persiste dados.
────────────────────────────────────────────────────────────
ENDPOINT REST
────────────────────────────────────────────────────────────
Método / URL: [POST|GET|PUT|DELETE] /api/[recurso]
Autenticação: [Bearer JWT | sessão | API key]
RF / US: [RF-012 / US-018]
Request:
Headers: [Content-Type, Authorization]
Body (JSON): { "campo": "tipo — descrição" }
Query: [?de=&ate=]
Response 200:
Body: { ... }
Response 4xx/5xx:
Body: { "erro": "mensagem", "codigo": "..." }
Regras:
- [RN-000]: [validação no servidor]
────────────────────────────────────────────────────────────
EXEMPLO PREENCHIDO
────────────────────────────────────────────────────────────
Método / URL: POST /api/atividades/exportar-pdf
Autenticação: Bearer JWT (perfil Gestor)
RF / US: RF-012 / US-018
Request:
Body: {
"dataInicio": "2026-05-01",
"dataFim": "2026-05-15",
"filtros": { "unidadeId": "uuid-opcional" }
}
Response 200:
Content-Type: application/pdf
Body: binário PDF ou { "urlDownload": "..." }
Response 400:
{ "erro": "Período máximo de 90 dias", "codigo": "RN004" }
Response 404:
{ "erro": "Nenhum dado no período" }
Regras:
- RN-004: intervalo ≤ 90 dias; registrar AuditLog após sucesso
Como front-end e back-end se organizam em um projeto web.