Class GlobalExceptionHandler
java.lang.Object
org.praxisplatform.uischema.rest.exceptionhandler.GlobalExceptionHandler
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 Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.http.ResponseEntity<RestApiResponse<Object>> handleBusinessException(BusinessException ex, org.springframework.web.context.request.WebRequest request) org.springframework.http.ResponseEntity<RestApiResponse<Object>> handleEntityNotFoundException(jakarta.persistence.EntityNotFoundException ex, org.springframework.web.context.request.WebRequest request) org.springframework.http.ResponseEntity<RestApiResponse<Object>> handleGenericException(Exception ex, org.springframework.web.context.request.WebRequest request) org.springframework.http.ResponseEntity<RestApiResponse<Object>> handleHttpMessageNotReadable(org.springframework.http.converter.HttpMessageNotReadableException ex, org.springframework.web.context.request.WebRequest request) org.springframework.http.ResponseEntity<RestApiResponse<Object>> handleHttpRequestMethodNotSupported(org.springframework.web.HttpRequestMethodNotSupportedException ex, org.springframework.web.context.request.WebRequest request) org.springframework.http.ResponseEntity<RestApiResponse<Object>> handleIllegalArgumentException(IllegalArgumentException ex, org.springframework.web.context.request.WebRequest request) org.springframework.http.ResponseEntity<RestApiResponse<Object>> handleInvalidDataAccessApiUsageException(org.springframework.dao.InvalidDataAccessApiUsageException ex, org.springframework.web.context.request.WebRequest request) org.springframework.http.ResponseEntity<RestApiResponse<Object>> handleInvalidFilterPayloadException(InvalidFilterPayloadException ex, org.springframework.web.context.request.WebRequest request) org.springframework.http.ResponseEntity<RestApiResponse<Object>> handleMissingRequestHeader(org.springframework.web.bind.MissingRequestHeaderException ex, org.springframework.web.context.request.WebRequest request) org.springframework.http.ResponseEntity<RestApiResponse<Object>> handleMissingServletRequestParameter(org.springframework.web.bind.MissingServletRequestParameterException ex, org.springframework.web.context.request.WebRequest request) org.springframework.http.ResponseEntity<RestApiResponse<Object>> handleNoHandlerFoundException(org.springframework.web.servlet.NoHandlerFoundException ex, org.springframework.web.context.request.WebRequest request) org.springframework.http.ResponseEntity<RestApiResponse<Object>> handleNoResourceFoundException(org.springframework.web.servlet.resource.NoResourceFoundException ex, org.springframework.web.context.request.WebRequest request) org.springframework.http.ResponseEntity<RestApiResponse<Object>> handleOpenApiResourceNotFoundException(org.springdoc.api.OpenApiResourceNotFoundException ex, org.springframework.web.context.request.WebRequest request) org.springframework.http.ResponseEntity<RestApiResponse<Object>> handleResponseStatusException(org.springframework.web.server.ResponseStatusException ex, org.springframework.web.context.request.WebRequest request) org.springframework.http.ResponseEntity<RestApiResponse<Object>> handleTypeMismatch(org.springframework.web.method.annotation.MethodArgumentTypeMismatchException ex, org.springframework.web.context.request.WebRequest request) org.springframework.http.ResponseEntity<RestApiResponse<Object>> handleValidationExceptions(org.springframework.web.bind.MethodArgumentNotValidException ex, org.springframework.web.context.request.WebRequest request)
-
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)
-