@Data
@NoArgsConstructor
@AllArgsConstructor
public class ErrorMessage {
private Date timestamp;
private String message;
}
@ControllerAdvice
public class AppExceptionHandler {
@ExceptionHandler(value = { UserServiceException.class })
public ResponseEntity<Object> handleUserServiceException(UserServiceException ex, WebRequest request) {
ErrorMessage errorMessage = new ErrorMessage(new Date(), ex.getMessage());
return new ResponseEntity<>(errorMessage, new HttpHeaders(), HttpStatus.INTERNAL_SERVER_ERROR);
}
@ExceptionHandler(value = { Exception.class })
public ResponseEntity<Object> handleException(Exception ex, WebRequest request) {
ErrorMessage errorMessage = new ErrorMessage(new Date(), ex.getMessage());
return new ResponseEntity<>(errorMessage, new HttpHeaders(), HttpStatus.INTERNAL_SERVER_ERROR);
}
}