Class ControllerExceptionHandler

java.lang.Object
br.com.pawsoncloud.controladores.excecao.ControllerExceptionHandler

@ControllerAdvice public class ControllerExceptionHandler extends Object
Classe que lida com exceções globais em controllers e fornece respostas padronizadas.

Esta classe utiliza a anotação @ControllerAdvice para tratar exceções em diferentes controllers.

Author:
Edielson Assis
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    org.springframework.http.ResponseEntity<StandardError>
    accessDeniedError(AccessDeniedException e, jakarta.servlet.http.HttpServletRequest request)
    Trata a exceção AccessDeniedException e retorna uma resposta padronizada.
    org.springframework.http.ResponseEntity<StandardError>
    authenticationError(org.springframework.security.core.AuthenticationException e, jakarta.servlet.http.HttpServletRequest request)
    Trata a exceção AuthenticationException e retorna uma resposta padronizada.
    org.springframework.http.ResponseEntity<StandardError>
    badCredentialsError(org.springframework.security.authentication.BadCredentialsException e, jakarta.servlet.http.HttpServletRequest request)
    Trata a exceção BadCredentialsException e retorna uma resposta padronizada.
    org.springframework.http.ResponseEntity<StandardError>
    badRequest(org.springframework.http.converter.HttpMessageNotReadableException e, jakarta.servlet.http.HttpServletRequest request)
    Trata a exceção HttpMessageNotReadableException e retorna uma resposta padronizada.
    org.springframework.http.ResponseEntity<StandardError>
    businessException(ValidationException e, jakarta.servlet.http.HttpServletRequest request)
    Trata a exceção ValidationException e retorna uma resposta padronizada.
    org.springframework.http.ResponseEntity<StandardError>
    databaseError(DataBaseException e, jakarta.servlet.http.HttpServletRequest request)
    Trata a exceção DataIntegrityViolationException e retorna uma resposta padronizada.
    org.springframework.http.ResponseEntity<StandardError>
    databaseError(Exception e, jakarta.servlet.http.HttpServletRequest request)
    Trata a exceção Exception e retorna uma resposta padronizada.
    org.springframework.http.ResponseEntity<StandardError>
    jwtError(SecurityException e, jakarta.servlet.http.HttpServletRequest request)
    Trata a exceção JWTVerificationException e retorna uma resposta padronizada.
    org.springframework.http.ResponseEntity<StandardError>
    resourceNotFound(ObjectNotFoundException e, jakarta.servlet.http.HttpServletRequest request)
    Trata a exceção ObjectNotFoundException e retorna uma resposta padronizada.
    org.springframework.http.ResponseEntity<StandardError>
    resourceNotFound(jakarta.persistence.EntityNotFoundException e, jakarta.servlet.http.HttpServletRequest request)
    Trata a exceção EntityNotFoundException e retorna uma resposta padronizada.
    org.springframework.http.ResponseEntity<StandardError>
    validationError(org.springframework.web.bind.MethodArgumentNotValidException e, jakarta.servlet.http.HttpServletRequest request)
    Trata a exceção MethodArgumentNotValidException e retorna uma resposta padronizada.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ControllerExceptionHandler

      public ControllerExceptionHandler()
  • Method Details

    • resourceNotFound

      @ExceptionHandler(ObjectNotFoundException.class) public org.springframework.http.ResponseEntity<StandardError> resourceNotFound(ObjectNotFoundException e, jakarta.servlet.http.HttpServletRequest request)
      Trata a exceção ObjectNotFoundException e retorna uma resposta padronizada.
      Parameters:
      e - A exceção lançada.
      request - O objeto de requisição HTTP.
      Returns:
      Uma resposta ResponseEntity com detalhes do erro.
    • resourceNotFound

      @ExceptionHandler(jakarta.persistence.EntityNotFoundException.class) public org.springframework.http.ResponseEntity<StandardError> resourceNotFound(jakarta.persistence.EntityNotFoundException e, jakarta.servlet.http.HttpServletRequest request)
      Trata a exceção EntityNotFoundException e retorna uma resposta padronizada.
      Parameters:
      e - A exceção lançada.
      request - O objeto de requisição HTTP.
      Returns:
      Uma resposta ResponseEntity com detalhes do erro.
    • validationError

      @ExceptionHandler(org.springframework.web.bind.MethodArgumentNotValidException.class) public org.springframework.http.ResponseEntity<StandardError> validationError(org.springframework.web.bind.MethodArgumentNotValidException e, jakarta.servlet.http.HttpServletRequest request)
      Trata a exceção MethodArgumentNotValidException e retorna uma resposta padronizada.
      Parameters:
      e - A exceção lançada.
      request - O objeto de requisição HTTP.
      Returns:
      Uma resposta ResponseEntity com detalhes do erro.
    • badRequest

      @ExceptionHandler(org.springframework.http.converter.HttpMessageNotReadableException.class) public org.springframework.http.ResponseEntity<StandardError> badRequest(org.springframework.http.converter.HttpMessageNotReadableException e, jakarta.servlet.http.HttpServletRequest request)
      Trata a exceção HttpMessageNotReadableException e retorna uma resposta padronizada.
      Parameters:
      e - A exceção lançada.
      request - O objeto de requisição HTTP.
      Returns:
      Uma resposta ResponseEntity com detalhes do erro.
    • businessException

      @ExceptionHandler(ValidationException.class) public org.springframework.http.ResponseEntity<StandardError> businessException(ValidationException e, jakarta.servlet.http.HttpServletRequest request)
      Trata a exceção ValidationException e retorna uma resposta padronizada.
      Parameters:
      e - A exceção lançada.
      request - O objeto de requisição HTTP.
      Returns:
      Uma resposta ResponseEntity com detalhes do erro.
    • badCredentialsError

      @ExceptionHandler(org.springframework.security.authentication.BadCredentialsException.class) public org.springframework.http.ResponseEntity<StandardError> badCredentialsError(org.springframework.security.authentication.BadCredentialsException e, jakarta.servlet.http.HttpServletRequest request)
      Trata a exceção BadCredentialsException e retorna uma resposta padronizada.
      Parameters:
      e - A exceção lançada.
      request - O objeto de requisição HTTP.
      Returns:
      Uma resposta ResponseEntity com detalhes do erro.
    • authenticationError

      @ExceptionHandler(org.springframework.security.core.AuthenticationException.class) public org.springframework.http.ResponseEntity<StandardError> authenticationError(org.springframework.security.core.AuthenticationException e, jakarta.servlet.http.HttpServletRequest request)
      Trata a exceção AuthenticationException e retorna uma resposta padronizada.
      Parameters:
      e - A exceção lançada.
      request - O objeto de requisição HTTP.
      Returns:
      Uma resposta ResponseEntity com detalhes do erro.
    • accessDeniedError

      @ExceptionHandler(java.nio.file.AccessDeniedException.class) public org.springframework.http.ResponseEntity<StandardError> accessDeniedError(AccessDeniedException e, jakarta.servlet.http.HttpServletRequest request)
      Trata a exceção AccessDeniedException e retorna uma resposta padronizada.
      Parameters:
      e - A exceção lançada.
      request - O objeto de requisição HTTP.
      Returns:
      Uma resposta ResponseEntity com detalhes do erro.
    • jwtError

      @ExceptionHandler(com.auth0.jwt.exceptions.JWTVerificationException.class) public org.springframework.http.ResponseEntity<StandardError> jwtError(SecurityException e, jakarta.servlet.http.HttpServletRequest request)
      Trata a exceção JWTVerificationException e retorna uma resposta padronizada.
      Parameters:
      e - A exceção lançada.
      request - O objeto de requisição HTTP.
      Returns:
      Uma resposta ResponseEntity com detalhes do erro.
    • databaseError

      @ExceptionHandler(org.springframework.dao.DataIntegrityViolationException.class) public org.springframework.http.ResponseEntity<StandardError> databaseError(DataBaseException e, jakarta.servlet.http.HttpServletRequest request)
      Trata a exceção DataIntegrityViolationException e retorna uma resposta padronizada.
      Parameters:
      e - A exceção lançada.
      request - O objeto de requisição HTTP.
      Returns:
      Uma resposta ResponseEntity com detalhes do erro.
    • databaseError

      @ExceptionHandler(java.lang.Exception.class) public org.springframework.http.ResponseEntity<StandardError> databaseError(Exception e, jakarta.servlet.http.HttpServletRequest request)
      Trata a exceção Exception e retorna uma resposta padronizada.
      Parameters:
      e - A exceção lançada.
      request - O objeto de requisição HTTP.
      Returns:
      Uma resposta ResponseEntity com detalhes do erro.