From 206981d4b41abe7609ed6821f4cdd08b5a66a36e Mon Sep 17 00:00:00 2001 From: yukaidi Date: Fri, 29 May 2026 06:15:56 +0800 Subject: [PATCH] =?UTF-8?q?revert:=20RouterHandlerFactory=20failureHandler?= =?UTF-8?q?=20=E6=81=A2=E5=A4=8D=E8=BF=94=E5=9B=9E=20failure=20message?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 原 ctx.failure().getMessage() 是故意设计——RateLimiter 等组件通过 promise.fail() 传递用户友好的错误消息(如"请求次数太多了"),这些消息需要通过 failureHandler 返回给客户端。改为固定"服务器内部错误"会导致这些消息丢失。 仅添加 null 检查防止 NPE。 --- .../cn/qaiu/vx/core/handlerfactory/RouterHandlerFactory.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/cn/qaiu/vx/core/handlerfactory/RouterHandlerFactory.java b/core/src/main/java/cn/qaiu/vx/core/handlerfactory/RouterHandlerFactory.java index 6f704a3..736d78e 100644 --- a/core/src/main/java/cn/qaiu/vx/core/handlerfactory/RouterHandlerFactory.java +++ b/core/src/main/java/cn/qaiu/vx/core/handlerfactory/RouterHandlerFactory.java @@ -181,7 +181,8 @@ public class RouterHandlerFactory implements BaseHttpApi { doFireJsonResultResponse(ctx, JsonResult.error("未知异常, 请联系管理员"), 503); } else { LOGGER.error("路由处理失败", ctx.failure()); - doFireJsonResultResponse(ctx, JsonResult.error("服务器内部错误"), 500); + String msg = ctx.failure() != null ? ctx.failure().getMessage() : "未知异常"; + doFireJsonResultResponse(ctx, JsonResult.error(msg), 500); } }); } else if (method.isAnnotationPresent(SockRouteMapper.class)) {