Class GlobalExceptionHandler

java.lang.Object
org.praxisplatform.uischema.rest.exceptionhandler.GlobalExceptionHandler

@RestControllerAdvice public class GlobalExceptionHandler extends Object
Tratamento global e consistente de excecoes REST.

Este advice converte excecoes tecnicas e de negocio em respostas HTTP padronizadas, usando RestApiResponse e CustomProblemDetail. Com isso, a plataforma mantem semantica uniforme para validacao, nao encontrado, conflito, erro interno e outros casos relevantes ao consumo metadata-driven e operacional.

Since:
1.0.0
  • Constructor Details

    • GlobalExceptionHandler

      public GlobalExceptionHandler()
  • Method Details

    • handleValidationExceptions

      @ExceptionHandler(org.springframework.web.bind.MethodArgumentNotValidException.class) public org.springframework.http.ResponseEntity<RestApiResponse<Object>> handleValidationExceptions(org.springframework.web.bind.MethodArgumentNotValidException ex, org.springframework.web.context.request.WebRequest request)
    • handleBusinessException

      @ExceptionHandler(BusinessException.class) public org.springframework.http.ResponseEntity<RestApiResponse<Object>> handleBusinessException(BusinessException ex, org.springframework.web.context.request.WebRequest request)
    • handleEntityNotFoundException

      @ExceptionHandler(jakarta.persistence.EntityNotFoundException.class) public org.springframework.http.ResponseEntity<RestApiResponse<Object>> handleEntityNotFoundException(jakarta.persistence.EntityNotFoundException ex, org.springframework.web.context.request.WebRequest request)
    • handleResponseStatusException

      @ExceptionHandler(org.springframework.web.server.ResponseStatusException.class) public org.springframework.http.ResponseEntity<RestApiResponse<Object>> handleResponseStatusException(org.springframework.web.server.ResponseStatusException ex, org.springframework.web.context.request.WebRequest request)
    • handleIllegalArgumentException

      @ExceptionHandler(java.lang.IllegalArgumentException.class) public org.springframework.http.ResponseEntity<RestApiResponse<Object>> handleIllegalArgumentException(IllegalArgumentException ex, org.springframework.web.context.request.WebRequest request)
    • handleInvalidFilterPayloadException

      @ExceptionHandler(InvalidFilterPayloadException.class) public org.springframework.http.ResponseEntity<RestApiResponse<Object>> handleInvalidFilterPayloadException(InvalidFilterPayloadException ex, org.springframework.web.context.request.WebRequest request)
    • handleInvalidDataAccessApiUsageException

      @ExceptionHandler(org.springframework.dao.InvalidDataAccessApiUsageException.class) public org.springframework.http.ResponseEntity<RestApiResponse<Object>> handleInvalidDataAccessApiUsageException(org.springframework.dao.InvalidDataAccessApiUsageException ex, org.springframework.web.context.request.WebRequest request)
    • handleHttpMessageNotReadable

      @ExceptionHandler(org.springframework.http.converter.HttpMessageNotReadableException.class) public org.springframework.http.ResponseEntity<RestApiResponse<Object>> handleHttpMessageNotReadable(org.springframework.http.converter.HttpMessageNotReadableException ex, org.springframework.web.context.request.WebRequest request)
    • handleMissingRequestHeader

      @ExceptionHandler(org.springframework.web.bind.MissingRequestHeaderException.class) public org.springframework.http.ResponseEntity<RestApiResponse<Object>> handleMissingRequestHeader(org.springframework.web.bind.MissingRequestHeaderException ex, org.springframework.web.context.request.WebRequest request)
    • handleMissingServletRequestParameter

      @ExceptionHandler(org.springframework.web.bind.MissingServletRequestParameterException.class) public org.springframework.http.ResponseEntity<RestApiResponse<Object>> handleMissingServletRequestParameter(org.springframework.web.bind.MissingServletRequestParameterException ex, org.springframework.web.context.request.WebRequest request)
    • handleHttpRequestMethodNotSupported

      @ExceptionHandler(org.springframework.web.HttpRequestMethodNotSupportedException.class) public org.springframework.http.ResponseEntity<RestApiResponse<Object>> handleHttpRequestMethodNotSupported(org.springframework.web.HttpRequestMethodNotSupportedException ex, org.springframework.web.context.request.WebRequest request)
    • handleGenericException

      @ExceptionHandler(java.lang.Exception.class) public org.springframework.http.ResponseEntity<RestApiResponse<Object>> handleGenericException(Exception ex, org.springframework.web.context.request.WebRequest request)
    • handleNoHandlerFoundException

      @ExceptionHandler(org.springframework.web.servlet.NoHandlerFoundException.class) public org.springframework.http.ResponseEntity<RestApiResponse<Object>> handleNoHandlerFoundException(org.springframework.web.servlet.NoHandlerFoundException ex, org.springframework.web.context.request.WebRequest request)
    • handleNoResourceFoundException

      @ExceptionHandler(org.springframework.web.servlet.resource.NoResourceFoundException.class) public org.springframework.http.ResponseEntity<RestApiResponse<Object>> handleNoResourceFoundException(org.springframework.web.servlet.resource.NoResourceFoundException ex, org.springframework.web.context.request.WebRequest request)
    • handleOpenApiResourceNotFoundException

      @ExceptionHandler(org.springdoc.api.OpenApiResourceNotFoundException.class) public org.springframework.http.ResponseEntity<RestApiResponse<Object>> handleOpenApiResourceNotFoundException(org.springdoc.api.OpenApiResourceNotFoundException ex, org.springframework.web.context.request.WebRequest request)
    • handleTypeMismatch

      @ExceptionHandler(org.springframework.web.method.annotation.MethodArgumentTypeMismatchException.class) public org.springframework.http.ResponseEntity<RestApiResponse<Object>> handleTypeMismatch(org.springframework.web.method.annotation.MethodArgumentTypeMismatchException ex, org.springframework.web.context.request.WebRequest request)