|
|
@@ -1,6 +1,7 @@
|
|
|
package cn.edu.nju.plagdemo.exception;
|
|
|
|
|
|
import cn.edu.nju.plagdemo.utils.RestResult;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.context.support.DefaultMessageSourceResolvable;
|
|
|
import org.springframework.http.HttpStatus;
|
|
|
import org.springframework.http.converter.HttpMessageNotReadableException;
|
|
|
@@ -14,6 +15,7 @@ import javax.validation.ConstraintViolation;
|
|
|
import javax.validation.ConstraintViolationException;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
+@Slf4j
|
|
|
@ControllerAdvice
|
|
|
public class GlobalExceptionHandler {
|
|
|
/**
|
|
|
@@ -23,6 +25,7 @@ public class GlobalExceptionHandler {
|
|
|
@ExceptionHandler(value = DefinitionException.class)
|
|
|
@ResponseBody
|
|
|
public RestResult<?> defExceptionHandler(DefinitionException e) {
|
|
|
+ log.error(e.getErrorMsg(), e);
|
|
|
return new RestResult<>(e.getHttpStatus(),e.getErrorMsg());
|
|
|
}
|
|
|
/**
|
|
|
@@ -32,6 +35,7 @@ public class GlobalExceptionHandler {
|
|
|
@ResponseBody
|
|
|
public RestResult<?> MethodArgumentNotValidExceptionHandler(MethodArgumentNotValidException e) {
|
|
|
String message = e.getBindingResult().getAllErrors().stream().map(DefaultMessageSourceResolvable::getDefaultMessage).collect(Collectors.joining(";"));
|
|
|
+ log.error(message, e);
|
|
|
return new RestResult<>(HttpStatus.BAD_REQUEST,message);
|
|
|
}
|
|
|
|
|
|
@@ -42,6 +46,7 @@ public class GlobalExceptionHandler {
|
|
|
@ResponseBody
|
|
|
public RestResult<?> BindExceptionHandler(BindException e) {
|
|
|
String message = e.getBindingResult().getAllErrors().stream().map(DefaultMessageSourceResolvable::getDefaultMessage).collect(Collectors.joining(";"));
|
|
|
+ log.error(message, e);
|
|
|
return new RestResult<>(HttpStatus.BAD_REQUEST,message);
|
|
|
}
|
|
|
|
|
|
@@ -52,6 +57,7 @@ public class GlobalExceptionHandler {
|
|
|
@ResponseBody
|
|
|
public RestResult<?> ConstraintViolationExceptionHandler(ConstraintViolationException e) {
|
|
|
String message = e.getConstraintViolations().stream().map(ConstraintViolation::getMessage).collect(Collectors.joining(";"));
|
|
|
+ log.error(message, e);
|
|
|
return new RestResult<>(HttpStatus.BAD_REQUEST,message);
|
|
|
}
|
|
|
|
|
|
@@ -61,6 +67,7 @@ public class GlobalExceptionHandler {
|
|
|
@ExceptionHandler(HttpMessageNotReadableException.class)
|
|
|
@ResponseBody
|
|
|
public RestResult<?> HttpMessageNotReadableExceptionHandler(HttpMessageNotReadableException e) {
|
|
|
+ log.error("参数格式异常", e);
|
|
|
return new RestResult<>(HttpStatus.BAD_REQUEST, "参数格式异常");
|
|
|
}
|
|
|
/**
|
|
|
@@ -70,6 +77,7 @@ public class GlobalExceptionHandler {
|
|
|
@ExceptionHandler(value = Exception.class)
|
|
|
@ResponseBody
|
|
|
public RestResult<?> exceptionHandler(Exception e) {
|
|
|
+ log.error("未知异常", e);
|
|
|
return RestResult.FAIL;
|
|
|
}
|
|
|
}
|