Browse Source

20211125修改异常类返回格式

yanyuan
zy_Java 4 years ago
parent
commit
cc8f7d45be
  1. 8
      signin/src/main/java/com/ccsens/signin/service/ProjectService.java
  2. 4
      signin/src/main/resources/application.yml
  3. 35
      util/src/main/java/com/ccsens/util/config/ControllerExceptionHandler.java

8
signin/src/main/java/com/ccsens/signin/service/ProjectService.java

@ -304,7 +304,7 @@ public class ProjectService implements IProjectService{
//调用业务系统删除项目
param.setUserId(userId);
String url = projectList.getUrl() + "/project/tallDelProject";
try {
log.info("调用业务系统的接口合并用户:{}--{}", url, param);
String postBody = RestTemplateUtil.postBody(url, param);
System.out.println(postBody);
@ -312,11 +312,7 @@ public class ProjectService implements IProjectService{
Integer code = jsonObject.getInteger("code");
if (code == null || code != 200) {
throw new BaseException(jsonObject.getString("date"));
}
}catch (Exception e){
log.error("接口调用异常",e);
throw new BaseException(CodeEnum.DELETE_PROJECT_ERROR);
throw new BaseException(jsonObject.getString("msg"));
}
}

4
signin/src/main/resources/application.yml

@ -1,5 +1,5 @@
spring:
profiles:
active: dev
include: util-dev,common
active: test
include: util-test,common

35
util/src/main/java/com/ccsens/util/config/ControllerExceptionHandler.java

@ -38,8 +38,8 @@ public class ControllerExceptionHandler {
// }
@ExceptionHandler(value = MethodArgumentNotValidException.class)
@ResponseBody
public JsonResponse validateExceptionHandlero(HttpServletRequest req,
// @ResponseBody
public void validateExceptionHandlero(HttpServletRequest req,HttpServletResponse response,
MethodArgumentNotValidException e){
BindingResult bindingResult = e.getBindingResult();
// StringBuilder errorMesssage = new StringBuilder();
@ -51,26 +51,29 @@ public class ControllerExceptionHandler {
// errorMesssage.append(bindingResult.getFieldErrors().get(0).getDefaultMessage());
// e.printStackTrace();
log.error("MethodArgumentNotValidException",e);
return JsonResponse.newInstance().fail(CodeEnum.PARAM_NULL.getCode(),bindingResult.getFieldError().getDefaultMessage());
// return JsonResponse.newInstance().fail(CodeEnum.PARAM_NULL.getCode(),bindingResult.getFieldError().getDefaultMessage());
responseError(response, JsonResponse.newInstance().fail(-1,e.getMessage()));
}
@ExceptionHandler(value = BindException.class)
@ResponseBody
public JsonResponse handleBindException(BindException e) {
// @ResponseBody
public void handleBindException(HttpServletResponse response, BindException e) {
// ex.getFieldError():随机返回一个对象属性的异常信息。如果要一次性返回所有对象属性异常信息,则调用ex.getAllErrors()
FieldError fieldError = e.getFieldError();
StringBuilder sb = new StringBuilder();
sb.append(fieldError.getField()).append("=[").append(fieldError.getRejectedValue()).append("]")
.append(fieldError.getDefaultMessage());
log.error("BindException", e);
return JsonResponse.newInstance().fail(-11,sb.toString());
responseError(response, JsonResponse.newInstance().fail(-1,e.getMessage()));
// return JsonResponse.newInstance().fail(-11,sb.toString());
}
@ExceptionHandler(value = HttpMessageNotReadableException.class)
@ResponseBody
public JsonResponse handleHttpMessageNotReadableException(HttpMessageNotReadableException e) {
// @ResponseBody
public void handleHttpMessageNotReadableException(HttpServletResponse response, HttpMessageNotReadableException e) {
log.error("HttpMessageNotReadableException", e);
return JsonResponse.newInstance().fail(-12,e.getMessage());
// return JsonResponse.newInstance().fail(-12,e.getMessage());
responseError(response, JsonResponse.newInstance().fail(-1,e.getMessage()));
}
@ExceptionHandler(value = BaseException.class)
@ -83,18 +86,24 @@ public class ControllerExceptionHandler {
} else {
ok = JsonResponse.newInstance().fail(e.getCode(),e.getMessage());
}
responseError(response, ok);
}
private void responseError(HttpServletResponse response, JsonResponse ok) {
try {
HttpServletUtil.responseJson(response,
JacksonUtil.beanToJson(ok));
} catch (Exception e1) {
log.error("返回异常出错:", e);
log.error("返回异常出错:", e1);
}
}
@ExceptionHandler(value = Exception.class)
@ResponseBody
public JsonResponse jsonExceptionHandler(HttpServletRequest req, Exception e) {
// @ResponseBody
public void jsonExceptionHandler(HttpServletRequest req, HttpServletResponse response, Exception e) {
log.error("Exception",e);
return JsonResponse.newInstance().fail(-1,e.getMessage());
responseError(response, JsonResponse.newInstance().fail(-1,e.getMessage()));
// return JsonResponse.newInstance().fail(-1,e.getMessage());
}
}
Loading…
Cancel
Save