zsw-farm
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

///**
// * 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()));
// }
//}