|
@@ -26,7 +26,7 @@ import java.lang.annotation.Annotation;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
|
/**
|
|
/**
|
|
- * 这个类不要加业务逻辑
|
|
|
|
|
|
+ * 这个类不要加业务逻辑
|
|
*/
|
|
*/
|
|
@RestControllerAdvice
|
|
@RestControllerAdvice
|
|
@Slf4j
|
|
@Slf4j
|
|
@@ -37,18 +37,18 @@ public class APIResponseAdvice implements ResponseBodyAdvice<Object> {
|
|
|
|
|
|
//自动处理APINoDataResponse,包装为APINoDataResponse
|
|
//自动处理APINoDataResponse,包装为APINoDataResponse
|
|
@ExceptionHandler(BizException.class)
|
|
@ExceptionHandler(BizException.class)
|
|
- public APINoDataResponse handleBizException(HttpServletRequest request, BizException ex, HttpServletResponse response) {
|
|
|
|
|
|
+ public APIResponse handleBizException(HttpServletRequest request, BizException ex, HttpServletResponse response) {
|
|
logger.warn("error", ex);
|
|
logger.warn("error", ex);
|
|
- APINoDataResponse apiNoDataResponse = new APINoDataResponse();
|
|
|
|
|
|
+ APIResponse apiNoDataResponse = new APIResponse();
|
|
apiNoDataResponse.setCode(ex.getErrorCode());
|
|
apiNoDataResponse.setCode(ex.getErrorCode());
|
|
apiNoDataResponse.setMessage(ex.getErrorMessage());
|
|
apiNoDataResponse.setMessage(ex.getErrorMessage());
|
|
return apiNoDataResponse;
|
|
return apiNoDataResponse;
|
|
}
|
|
}
|
|
|
|
|
|
@ExceptionHandler(MaxUploadSizeExceededException.class)
|
|
@ExceptionHandler(MaxUploadSizeExceededException.class)
|
|
- public APINoDataResponse handleException(HttpServletRequest request, MaxUploadSizeExceededException ex, HttpServletResponse response) {
|
|
|
|
|
|
+ public APIResponse handleException(HttpServletRequest request, MaxUploadSizeExceededException ex, HttpServletResponse response) {
|
|
logger.warn("error", ex);
|
|
logger.warn("error", ex);
|
|
- APINoDataResponse apiResponse = new APINoDataResponse();
|
|
|
|
|
|
+ APIResponse apiResponse = new APIResponse();
|
|
apiResponse.setCode(-1);
|
|
apiResponse.setCode(-1);
|
|
apiResponse.setMessage("文件长度过长");
|
|
apiResponse.setMessage("文件长度过长");
|
|
return apiResponse;
|
|
return apiResponse;
|
|
@@ -57,13 +57,12 @@ public class APIResponseAdvice implements ResponseBodyAdvice<Object> {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 拦截未知的运行时异常
|
|
* 拦截未知的运行时异常
|
|
- *
|
|
|
|
*/
|
|
*/
|
|
@ExceptionHandler(Throwable.class)
|
|
@ExceptionHandler(Throwable.class)
|
|
@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
|
|
@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
|
|
- public APINoDataResponse serverError(Throwable ex) {
|
|
|
|
|
|
+ public APIResponse serverError(Throwable ex) {
|
|
logger.error("error", ex);
|
|
logger.error("error", ex);
|
|
- APINoDataResponse apiResponse = new APINoDataResponse();
|
|
|
|
|
|
+ APIResponse apiResponse = new APIResponse();
|
|
apiResponse.setCode(-1);
|
|
apiResponse.setCode(-1);
|
|
apiResponse.setMessage("服务器运行异常");
|
|
apiResponse.setMessage("服务器运行异常");
|
|
return apiResponse;
|
|
return apiResponse;
|
|
@@ -71,7 +70,7 @@ public class APIResponseAdvice implements ResponseBodyAdvice<Object> {
|
|
|
|
|
|
@ExceptionHandler(MethodArgumentNotValidException.class)
|
|
@ExceptionHandler(MethodArgumentNotValidException.class)
|
|
@ResponseStatus(HttpStatus.BAD_REQUEST)
|
|
@ResponseStatus(HttpStatus.BAD_REQUEST)
|
|
- public APINoDataResponse validationBodyException(MethodArgumentNotValidException exception) {
|
|
|
|
|
|
+ public APIResponse validationBodyException(MethodArgumentNotValidException exception) {
|
|
StringBuilder sb = new StringBuilder();
|
|
StringBuilder sb = new StringBuilder();
|
|
BindingResult result = exception.getBindingResult();
|
|
BindingResult result = exception.getBindingResult();
|
|
StringBuilder message = new StringBuilder();
|
|
StringBuilder message = new StringBuilder();
|
|
@@ -89,7 +88,7 @@ public class APIResponseAdvice implements ResponseBodyAdvice<Object> {
|
|
message.append("参数异常");
|
|
message.append("参数异常");
|
|
}
|
|
}
|
|
logger.warn("error", sb.toString());
|
|
logger.warn("error", sb.toString());
|
|
- APINoDataResponse apiResponse = new APINoDataResponse();
|
|
|
|
|
|
+ APIResponse apiResponse = new APIResponse();
|
|
apiResponse.setCode(-1);
|
|
apiResponse.setCode(-1);
|
|
apiResponse.setMessage(message.toString());
|
|
apiResponse.setMessage(message.toString());
|
|
return apiResponse;
|
|
return apiResponse;
|
|
@@ -104,7 +103,7 @@ public class APIResponseAdvice implements ResponseBodyAdvice<Object> {
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- return returnType.getParameterType() != APIResponse.class && returnType.getParameterType() != APINoDataResponse.class
|
|
|
|
|
|
+ return returnType.getParameterType() != APIResponse.class
|
|
&& AnnotationUtils.findAnnotation(returnType.getDeclaringClass(), NoAPIResponse.class) == null;
|
|
&& AnnotationUtils.findAnnotation(returnType.getDeclaringClass(), NoAPIResponse.class) == null;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -124,21 +123,11 @@ public class APIResponseAdvice implements ResponseBodyAdvice<Object> {
|
|
msg = responseMsg.value();
|
|
msg = responseMsg.value();
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
- if (null == body) {
|
|
|
|
- APINoDataResponse apiResponse = new APINoDataResponse();
|
|
|
|
-
|
|
|
|
- apiResponse.setCode(0);
|
|
|
|
- apiResponse.setMessage(msg);
|
|
|
|
- return apiResponse;
|
|
|
|
- } else {
|
|
|
|
- APIResponse apiResponse = new APIResponse();
|
|
|
|
-
|
|
|
|
- apiResponse.setCode(0);
|
|
|
|
- apiResponse.setMessage(msg);
|
|
|
|
- apiResponse.setData(body);
|
|
|
|
- return apiResponse;
|
|
|
|
- }
|
|
|
|
|
|
+ APIResponse apiResponse = new APIResponse();
|
|
|
|
+ apiResponse.setCode(0);
|
|
|
|
+ apiResponse.setMessage(msg);
|
|
|
|
+ apiResponse.setData(body);
|
|
|
|
+ return apiResponse;
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|