Pular para conteúdo

0008 — Erros de API em RFC 7807 (application/problem+json)

Status: Aprovado · Responsável: Gustavo Madruga · Atualizado em: 2026-07-07 · Decidido em: 2026-07-07

Contexto. Cada erro tinha um handler próprio montando um corpo ad-hoc ({status, error, message}) — divergente entre endpoints e fora da norma da casa.

Decisão. Um ponto único, UnifiedErrorResponseProcessor (@Replaces HateoasErrorResponseProcessor), formata todo erro do framework (Bean Validation, 404, parse, HttpStatusException) como RFC 7807 (ProblemDetail, application/problem+json). Ele só formata o corpo, não decide o status. Detalhe: erros RFC-7807.

Consequências / trade-offs.

  • Muda o shape do corpo de erro dos endpoints de framework ({type,title,status,detail,code}).
  • Carve-out deliberado: o /api/v1/xadm não passa por aqui — o 400 de JSON malformado é produzido no controller (XadmResponse) e JSON válido sempre responde 200. O agente on-prem X-Adm parseia esse corpo; o contrato dele não muda.
  • Handlers custom (ServerException/Unauthorized/Global) emitem o mesmo ProblemDetail.