From 4482469b13282b0b4afbd433ec07e70fffae6447 Mon Sep 17 00:00:00 2001 From: zhouhao Date: Thu, 10 Jul 2025 11:23:17 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E4=BC=98=E5=8C=96RuntimeException?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/crud/web/CommonErrorControllerAdvice.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/hsweb-commons/hsweb-commons-crud/src/main/java/org/hswebframework/web/crud/web/CommonErrorControllerAdvice.java b/hsweb-commons/hsweb-commons-crud/src/main/java/org/hswebframework/web/crud/web/CommonErrorControllerAdvice.java index 2cb354e0f..43052d28e 100644 --- a/hsweb-commons/hsweb-commons-crud/src/main/java/org/hswebframework/web/crud/web/CommonErrorControllerAdvice.java +++ b/hsweb-commons/hsweb-commons-crud/src/main/java/org/hswebframework/web/crud/web/CommonErrorControllerAdvice.java @@ -25,6 +25,8 @@ import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseStatus; import org.springframework.web.bind.annotation.RestControllerAdvice; import org.springframework.web.bind.support.WebExchangeBindException; +import org.springframework.web.reactive.function.client.WebClientException; +import org.springframework.web.reactive.function.client.WebClientResponseException; import org.springframework.web.reactive.resource.NoResourceFoundException; import org.springframework.web.server.*; import reactor.core.publisher.Mono; @@ -181,19 +183,20 @@ public class CommonErrorControllerAdvice { @ResponseStatus(HttpStatus.GATEWAY_TIMEOUT) public Mono> handleException(TimeoutException e) { return LocaleUtils - .resolveThrowable(e, (err, msg) -> ResponseMessage.error(504, CodeConstants.Error.timeout, msg)) - .doOnEach(ReactiveLogger.onNext(r -> log.warn(e.getLocalizedMessage(), e))); + .resolveThrowable(e, (err, msg) -> { + log.warn(msg, err); + return ResponseMessage.error(504, CodeConstants.Error.timeout, msg); + }); } @ExceptionHandler @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) @Order public Mono> handleException(RuntimeException e) { + log.warn(e.getLocalizedMessage(), e); return LocaleUtils - .resolveThrowable(e, (err, msg) -> { - log.warn(msg, e); - return ResponseMessage.error(msg); - }); + .resolveMessageReactive("error.internal_server_error") + .map(msg -> ResponseMessage.error(500, "internal_server_error", msg)); } @ExceptionHandler