Skip to content

Response Entity Exception Handling

  • mark the class with ControllerAdvice and ResponseStatus
  • The class should extend ResponseEntityExceptionHandler
  • Annotate the member function with @ExceptionHandler(T.class) where T is the custom exception class
  • Make sure to include String message and Integer statusCode in the custom exception.
  • Example
@ControllerAdvice
@ResponseStatus
public class RestResponseEntityExceptionHandler extends ResponseEntityExceptionHandler 
{

    @ExceptionHandler(DepartmentExceptions.class)
    public ResponseEntity<ErrorMessage> 
        departmentException(DepartmentExceptions exception) 
    {

        Integer exceptionStatus = exception.getStatusCode();

        if (exceptionStatus == 404) {
            ErrorMessage message =
                new ErrorMessage(HttpStatus.NOT_FOUND, exception.getMessage());

            return ResponseEntity.status(HttpStatus.CREATED).body(message);
        }
    }

}