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

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

@ -1,5 +1,5 @@
spring: spring:
profiles: profiles:
active: dev active: test
include: util-dev,common 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) @ExceptionHandler(value = MethodArgumentNotValidException.class)
@ResponseBody // @ResponseBody
public JsonResponse validateExceptionHandlero(HttpServletRequest req, public void validateExceptionHandlero(HttpServletRequest req,HttpServletResponse response,
MethodArgumentNotValidException e){ MethodArgumentNotValidException e){
BindingResult bindingResult = e.getBindingResult(); BindingResult bindingResult = e.getBindingResult();
// StringBuilder errorMesssage = new StringBuilder(); // StringBuilder errorMesssage = new StringBuilder();
@ -51,26 +51,29 @@ public class ControllerExceptionHandler {
// errorMesssage.append(bindingResult.getFieldErrors().get(0).getDefaultMessage()); // errorMesssage.append(bindingResult.getFieldErrors().get(0).getDefaultMessage());
// e.printStackTrace(); // e.printStackTrace();
log.error("MethodArgumentNotValidException",e); 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) @ExceptionHandler(value = BindException.class)
@ResponseBody // @ResponseBody
public JsonResponse handleBindException(BindException e) { public void handleBindException(HttpServletResponse response, BindException e) {
// ex.getFieldError():随机返回一个对象属性的异常信息。如果要一次性返回所有对象属性异常信息,则调用ex.getAllErrors() // ex.getFieldError():随机返回一个对象属性的异常信息。如果要一次性返回所有对象属性异常信息,则调用ex.getAllErrors()
FieldError fieldError = e.getFieldError(); FieldError fieldError = e.getFieldError();
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append(fieldError.getField()).append("=[").append(fieldError.getRejectedValue()).append("]") sb.append(fieldError.getField()).append("=[").append(fieldError.getRejectedValue()).append("]")
.append(fieldError.getDefaultMessage()); .append(fieldError.getDefaultMessage());
log.error("BindException", e); 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) @ExceptionHandler(value = HttpMessageNotReadableException.class)
@ResponseBody // @ResponseBody
public JsonResponse handleHttpMessageNotReadableException(HttpMessageNotReadableException e) { public void handleHttpMessageNotReadableException(HttpServletResponse response, HttpMessageNotReadableException e) {
log.error("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) @ExceptionHandler(value = BaseException.class)
@ -83,18 +86,24 @@ public class ControllerExceptionHandler {
} else { } else {
ok = JsonResponse.newInstance().fail(e.getCode(),e.getMessage()); ok = JsonResponse.newInstance().fail(e.getCode(),e.getMessage());
} }
responseError(response, ok);
}
private void responseError(HttpServletResponse response, JsonResponse ok) {
try { try {
HttpServletUtil.responseJson(response, HttpServletUtil.responseJson(response,
JacksonUtil.beanToJson(ok)); JacksonUtil.beanToJson(ok));
} catch (Exception e1) { } catch (Exception e1) {
log.error("返回异常出错:", e); log.error("返回异常出错:", e1);
} }
} }
@ExceptionHandler(value = Exception.class) @ExceptionHandler(value = Exception.class)
@ResponseBody // @ResponseBody
public JsonResponse jsonExceptionHandler(HttpServletRequest req, Exception e) { public void jsonExceptionHandler(HttpServletRequest req, HttpServletResponse response, Exception e) {
log.error("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