全局异常优化

This commit is contained in:
KilLze
2026-01-02 11:09:12 +08:00
parent 8a6e44e1cb
commit 61d100fac0
3 changed files with 19 additions and 3 deletions

View File

@@ -61,6 +61,12 @@
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-inline</artifactId>
<scope>test</scope>
</dependency>
<!-- JUnit Platform Launcher for resolving junit-platform-launcher:1.8.2 issue -->
<dependency>

View File

@@ -4,7 +4,6 @@ import com.bao.dating.common.Result;
import com.bao.dating.common.ResultCode;
import lombok.extern.slf4j.Slf4j;
import org.springframework.dao.DuplicateKeyException;
import org.springframework.http.HttpStatus;
import org.springframework.http.converter.HttpMessageNotReadableException;
import org.springframework.web.HttpRequestMethodNotSupportedException;
import org.springframework.web.bind.MethodArgumentNotValidException;
@@ -16,6 +15,7 @@ import org.springframework.web.servlet.NoHandlerFoundException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.stream.Collectors;
/**
* 全局异常处理器
@@ -32,7 +32,12 @@ public class GlobalExceptionHandler {
@ExceptionHandler(MethodArgumentNotValidException.class)
public Result<String> handleMethodArgumentNotValidException(MethodArgumentNotValidException e) {
log.error("参数验证失败: {}", e.getMessage());
return Result.error(ResultCode.PARAM_ERROR, e.getBindingResult().getFieldError().getDefaultMessage());
String msg = e.getBindingResult()
.getFieldErrors()
.stream()
.map(error -> error.getField() + "" + error.getDefaultMessage())
.collect(Collectors.joining("; "));
return Result.error(ResultCode.PARAM_ERROR, msg);
}
/**
@@ -95,7 +100,7 @@ public class GlobalExceptionHandler {
@ExceptionHandler(RuntimeException.class)
public Result<String> handleRuntimeException(RuntimeException e) {
log.error("运行时异常: ", e);
return Result.error(ResultCode.SYSTEM_ERROR, e.getMessage());
return Result.error(ResultCode.SYSTEM_ERROR, "系统异常,请稍后重试");
}
/**

View File

@@ -2,6 +2,11 @@ server:
port: 8080
spring:
mvc:
throw-exception-if-no-handler-found: true
web:
resources:
add-mappings: false
datasource:
url: jdbc:mysql://110.42.41.177:3306/dating?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8
username: root