You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
130 lines
4.6 KiB
130 lines
4.6 KiB
///** |
|
// * Copyright (C) 2018-2022 |
|
// * All rights reserved, Designed By www.yixiang.co |
|
// |
|
// */ |
|
//package co.yixiang.handler; |
|
// |
|
//import co.yixiang.exception.BadRequestException; |
|
//import co.yixiang.exception.EntityExistException; |
|
//import co.yixiang.exception.EntityNotFoundException; |
|
//import co.yixiang.exception.ErrorRequestException; |
|
//import co.yixiang.utils.ThrowableUtil; |
|
//import lombok.extern.slf4j.Slf4j; |
|
//import org.springframework.http.HttpStatus; |
|
//import org.springframework.http.ResponseEntity; |
|
//import org.springframework.security.authentication.BadCredentialsException; |
|
//import org.springframework.web.bind.MethodArgumentNotValidException; |
|
//import org.springframework.web.bind.annotation.ExceptionHandler; |
|
//import org.springframework.web.bind.annotation.RestControllerAdvice; |
|
// |
|
//import java.util.Objects; |
|
// |
|
//import static org.springframework.http.HttpStatus.NOT_FOUND; |
|
//import static org.springframework.http.HttpStatus.valueOf; |
|
// |
|
///** |
|
// * @author Zheng Jie |
|
// * @date 2018-11-23 |
|
// */ |
|
//@Slf4j |
|
//@RestControllerAdvice |
|
//@SuppressWarnings("unchecked") |
|
//public class GlobalExceptionHandler { |
|
// |
|
// /** |
|
// * 处理所有不可知的异常 |
|
// */ |
|
// @ExceptionHandler(Throwable.class) |
|
// public ResponseEntity<ApiError> handleException(Throwable e){ |
|
// // 打印堆栈信息 |
|
// log.error(ThrowableUtil.getStackTrace(e)); |
|
// return buildResponseEntity(ApiError.error(e.getMessage())); |
|
// } |
|
// |
|
// /** |
|
// * BadCredentialsException |
|
// */ |
|
// @ExceptionHandler(BadCredentialsException.class) |
|
// public ResponseEntity<ApiError> badCredentialsException(BadCredentialsException e){ |
|
// // 打印堆栈信息 |
|
// String message = "坏的凭证".equals(e.getMessage()) ? "用户名或密码不正确" : e.getMessage(); |
|
// log.error(message); |
|
// return buildResponseEntity(ApiError.error(message)); |
|
// } |
|
// |
|
// /** |
|
// * 处理自定义异常 |
|
// */ |
|
// @ExceptionHandler(value = BadRequestException.class) |
|
// public ResponseEntity<ApiError> badRequestException(BadRequestException e) { |
|
// // 打印堆栈信息 |
|
// log.error(ThrowableUtil.getStackTrace(e)); |
|
// return buildResponseEntity(ApiError.error(e.getStatus(),e.getMessage())); |
|
// } |
|
// |
|
// /** |
|
// * 处理自定义异常 |
|
// * @param e |
|
// * @return |
|
// */ |
|
// @ExceptionHandler(value = ErrorRequestException.class) |
|
// public ResponseEntity<ApiErr> errorRequestException(ErrorRequestException e) { |
|
// // 打印堆栈信息 |
|
// log.error(ThrowableUtil.getStackTrace(e)); |
|
// ApiErr apiError = new ApiErr(e.getStatus(),e.getMessage()); |
|
// return buildResponseEntity2(apiError); |
|
// } |
|
// |
|
// /** |
|
// * 处理 EntityExist |
|
// */ |
|
// @ExceptionHandler(value = EntityExistException.class) |
|
// public ResponseEntity<ApiError> entityExistException(EntityExistException e) { |
|
// // 打印堆栈信息 |
|
// log.error(ThrowableUtil.getStackTrace(e)); |
|
// return buildResponseEntity(ApiError.error(e.getMessage())); |
|
// } |
|
// |
|
// /** |
|
// * 处理 EntityNotFound |
|
// */ |
|
// @ExceptionHandler(value = EntityNotFoundException.class) |
|
// public ResponseEntity<ApiError> entityNotFoundException(EntityNotFoundException e) { |
|
// // 打印堆栈信息 |
|
// log.error(ThrowableUtil.getStackTrace(e)); |
|
// return buildResponseEntity(ApiError.error(NOT_FOUND.value(),e.getMessage())); |
|
// } |
|
// |
|
// /** |
|
// * 处理所有接口数据验证异常 |
|
// */ |
|
// @ExceptionHandler(MethodArgumentNotValidException.class) |
|
// public ResponseEntity<ApiError> handleMethodArgumentNotValidException(MethodArgumentNotValidException e){ |
|
// // 打印堆栈信息 |
|
// log.error(ThrowableUtil.getStackTrace(e)); |
|
// String[] str = Objects.requireNonNull(e.getBindingResult().getAllErrors().get(0).getCodes())[1].split("\\."); |
|
// String message = e.getBindingResult().getAllErrors().get(0).getDefaultMessage(); |
|
// String msg = "不能为空"; |
|
// if(msg.equals(message)){ |
|
// message = str[1] + ":" + message; |
|
// } |
|
// return buildResponseEntity(ApiError.error(message)); |
|
// } |
|
// |
|
// /** |
|
// * 统一返回 |
|
// */ |
|
// private ResponseEntity<ApiError> buildResponseEntity(ApiError apiError) { |
|
// return new ResponseEntity<>(apiError, valueOf(apiError.getStatus())); |
|
// } |
|
// |
|
// /** |
|
// * 统一返回 |
|
// * @param apiError |
|
// * @return |
|
// */ |
|
// private ResponseEntity<ApiErr> buildResponseEntity2(ApiErr apiError) { |
|
// return new ResponseEntity(apiError, HttpStatus.valueOf(apiError.getStatus())); |
|
// } |
|
//}
|
|
|