- 前言
- 全局异常处理
- ApiException
- FormValidException
springboot带给开发人员不需要关注过多底层实现,只需要关心业务逻辑。在出现问题时,如果能够对springboot底层实现,可以帮助我们快速定位出现问题的原因,从根源解决。
这里不过多讨论这些问题,主要从开发规范角度上使用springboot框架
全局异常处理这里只是样例,具体实现以项目为主
@RestControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(ApiException.class)
public ResponseResult handlerFormValidException(ApiException e) {
return ResponseResult.error(e.getResponseStatus());
}
@ExceptionHandler(Throwable.class)
public ResponseResult handlerThrowable(Throwable e) {
System.out.println(e);
ResponseStatus uploadError = ResponseStatus.UNKOWN_ERROR;
if(!StringUtils.isEmpty(e.getMessage())) {
uploadError.setMessage(e.getMessage());
}
return ResponseResult.error(uploadError);
}
@ExceptionHandler(FormValidException.class)
public ResponseResult
ApiException
@Data
@AllArgsConstructor
public class ApiException extends RuntimeException {
private ResponseStatus responseStatus;
}
FormValidException
@Data
@AllArgsConstructor
@NoArgsConstructor
public class FormValidException extends RuntimeException {
private ResponseStatus responseStatus;
private Map map;
}



