diff --git a/common/pom.xml b/common/pom.xml index ed69a5c..7e4f0b8 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -26,22 +26,18 @@ org.springframework.boot spring-boot-starter-web - provided org.springframework.boot spring-boot-starter-validation - provided com.baomidou mybatis-plus-boot-starter - provided cn.dev33 sa-token-core - provided org.projectlombok diff --git a/common/src/main/java/net/rzdata/demo/exception/GlobalExceptionHandler.java b/common/src/main/java/net/rzdata/demo/exception/GlobalExceptionHandler.java index e6ab6fb..40a1ca3 100644 --- a/common/src/main/java/net/rzdata/demo/exception/GlobalExceptionHandler.java +++ b/common/src/main/java/net/rzdata/demo/exception/GlobalExceptionHandler.java @@ -12,10 +12,12 @@ import net.rzdata.exception.ClientException; import net.rzdata.exception.ServerException; import net.rzdata.exception.ThirdPartyException; import org.springframework.context.support.DefaultMessageSourceResolvable; +import org.springframework.http.HttpStatus; import org.springframework.validation.BindException; import org.springframework.web.HttpRequestMethodNotSupportedException; import org.springframework.web.bind.MethodArgumentNotValidException; import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseStatus; import java.util.stream.Collectors; @@ -31,6 +33,7 @@ public class GlobalExceptionHandler { * 权限码异常 */ @ExceptionHandler(NotPermissionException.class) + @ResponseStatus(HttpStatus.FORBIDDEN) public Result handleNotPermissionException(NotPermissionException e, HttpServletRequest request) { String requestURI = request.getRequestURI(); log.error("请求地址'{}',权限码校验失败'{}'", requestURI, e.getMessage()); @@ -42,6 +45,7 @@ public class GlobalExceptionHandler { * 角色权限异常 */ @ExceptionHandler(NotRoleException.class) + @ResponseStatus(HttpStatus.FORBIDDEN) public Result handleNotRoleException(NotRoleException e, HttpServletRequest request) { String requestURI = request.getRequestURI(); log.error("请求地址'{}',角色权限校验失败'{}'", requestURI, e.getMessage()); @@ -53,6 +57,7 @@ public class GlobalExceptionHandler { * 认证失败 */ @ExceptionHandler(NotLoginException.class) + @ResponseStatus(HttpStatus.UNAUTHORIZED) public Result handleNotLoginException(NotLoginException e, HttpServletRequest request) { String requestURI = request.getRequestURI(); log.error("请求地址'{}',认证失败'{}',无法访问系统资源", requestURI, e.getMessage()); @@ -64,6 +69,7 @@ public class GlobalExceptionHandler { * 请求方式不支持 */ @ExceptionHandler(HttpRequestMethodNotSupportedException.class) + @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) public Result handleHttpRequestMethodNotSupported(HttpRequestMethodNotSupportedException e, HttpServletRequest request) { String requestURI = request.getRequestURI(); log.error("请求地址'{}',不支持'{}'请求", requestURI, e.getMethod()); @@ -72,18 +78,21 @@ public class GlobalExceptionHandler { } @ExceptionHandler(ClientException.class) + @ResponseStatus(HttpStatus.BAD_REQUEST) public Result handleClientException(ClientException e) { log.error("客户端异常: {}", e.getMessage(), e); return Result.fail(e); } @ExceptionHandler(ServerException.class) + @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) public Result handleServerException(ServerException e) { log.error("服务端异常: {}", e.getMessage(), e); return Result.fail(e, errorMessage); } @ExceptionHandler(ThirdPartyException.class) + @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) public Result handleThirdPartyException(ThirdPartyException e) { log.error("第三方服务异常: {}", e.getMessage(), e); return Result.fail(e, errorMessage); @@ -93,6 +102,7 @@ public class GlobalExceptionHandler { * 拦截未知的运行时异常 */ @ExceptionHandler(RuntimeException.class) + @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) public Result handleRuntimeException(RuntimeException e, HttpServletRequest request) { String requestURI = request.getRequestURI(); log.error("请求地址'{}',发生未知异常.", requestURI, e); @@ -104,6 +114,7 @@ public class GlobalExceptionHandler { * 系统异常 */ @ExceptionHandler(Exception.class) + @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) public Result handleException(Exception e, HttpServletRequest request) { String requestURI = request.getRequestURI(); log.error("请求地址'{}',发生系统异常.", requestURI, e); @@ -115,6 +126,7 @@ public class GlobalExceptionHandler { * 自定义验证异常 */ @ExceptionHandler(BindException.class) + @ResponseStatus(HttpStatus.BAD_REQUEST) public Result handleBindException(BindException e) { log.error(e.getMessage(), e); String message = e.getAllErrors().parallelStream() @@ -128,6 +140,7 @@ public class GlobalExceptionHandler { * 自定义验证异常 */ @ExceptionHandler(ConstraintViolationException.class) + @ResponseStatus(HttpStatus.BAD_REQUEST) public Result constraintViolationException(ConstraintViolationException e) { log.error(e.getMessage(), e); String message = e.getConstraintViolations().parallelStream() @@ -141,6 +154,7 @@ public class GlobalExceptionHandler { * 自定义验证异常 */ @ExceptionHandler(MethodArgumentNotValidException.class) + @ResponseStatus(HttpStatus.BAD_REQUEST) public Result handleMethodArgumentNotValidException(MethodArgumentNotValidException e) { log.error(e.getMessage(), e); String message = e.getBindingResult().getFieldError().getDefaultMessage(); diff --git a/common/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/common/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 0000000..da71b2a --- /dev/null +++ b/common/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1 @@ +net.rzdata.demo.exception.GlobalExceptionHandler diff --git a/service/pom.xml b/service/pom.xml index 5c6f4eb..a85c73b 100644 --- a/service/pom.xml +++ b/service/pom.xml @@ -67,10 +67,6 @@ org.mapstruct mapstruct - - org.liquibase - liquibase-core - org.springframework.boot spring-boot-starter-test