Spring提供了同意的异常处理注解,用户只需要在错误的时候提示信息即可
- 实现方式:
- 在类上添加@ControllerAdvice注解
- 在方法上添加@ExceptionHandler注解
例如:
1. 自定义一个异常 AbstractApolloHttpException public class AbstractApolloHttpException extends RuntimeException{ private static final long serialVersionUID = -1713129594004951820L; public AbstractApolloHttpException(String msg){ super(msg); } public AbstractApolloHttpException(String msg, Exception e){ super(msg,e); } } 2. 自定义同意异常的处理类 GlobalDefaultExceptionHandler @ControllerAdvice public class GlobalDefaultExceptionHandler { //处理自定义Exception @ExceptionHandler({AbstractApolloHttpException.class}) public ResponseEntity<Map<String, Object>> badRequest(HttpServletRequest request, AbstractApolloHttpException ex) { return handleError(request, ex.getHttpStatus(), ex); } }