Global Exception Handler
Handler centralizado de exceções para toda a API.
Responsabilidades:
Padronizar respostas de erro no formato RFC 7807 (ProblemDetail)
Logar erros com contexto (trace_id, request path, user_id)
Reportar erros críticos (500) ao Sentry
Mascarar detalhes internos em produção
Functions
Link copied to clipboard
Trata exceções de acesso negado (403 Forbidden) Ocorre quando o usuário não tem permissão para acessar um recurso.
Link copied to clipboard
Trata argumentos inválidos (400 Bad Request) Ocorre quando parâmetros da requisição são inválidos.
Link copied to clipboard
@ExceptionHandler(value = [HttpRequestMethodNotSupportedException::class, HttpMediaTypeNotSupportedException::class, HttpMediaTypeNotAcceptableException::class, MissingPathVariableException::class, MissingServletRequestParameterException::class, MissingServletRequestPartException::class, ServletRequestBindingException::class, MethodArgumentNotValidException::class, HandlerMethodValidationException::class, NoHandlerFoundException::class, NoResourceFoundException::class, AsyncRequestTimeoutException::class, ErrorResponseException::class, MaxUploadSizeExceededException::class, ConversionNotSupportedException::class, TypeMismatchException::class, HttpMessageNotReadableException::class, HttpMessageNotWritableException::class, MethodValidationException::class, BindException::class ] )
@Nullable
Link copied to clipboard
Trata todas as exceções não capturadas (500 Internal Server Error) Este é o handler de último recurso - captura erros inesperados.