From e5fb3086282eb1528785255a26da30601912a375 Mon Sep 17 00:00:00 2001 From: yangghosts Date: Mon, 9 Oct 2023 14:34:32 +0000 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3jfinal5=E5=BC=80=E5=90=AF?= =?UTF-8?q?=E5=85=BC=E5=AE=B9json=E8=AF=B7=E6=B1=82=E8=A7=A3=E6=9E=90?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=90=8E=E6=8A=A5=E7=B1=BB=E8=BD=AC=E6=8D=A2?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E9=97=AE=E9=A2=98=20=E8=A7=A3=E5=86=B3jfinal?= =?UTF-8?q?5=E5=BC=80=E5=90=AF=E5=85=BC=E5=AE=B9json=E8=AF=B7=E6=B1=82?= =?UTF-8?q?=E8=A7=A3=E6=9E=90=E5=8A=9F=E8=83=BD=E5=90=8E=E6=8A=A5=E7=B1=BB?= =?UTF-8?q?=E8=BD=AC=E6=8D=A2=E5=BC=82=E5=B8=B8=E9=97=AE=E9=A2=98=E3=80=82?= =?UTF-8?q?=20=20=20=20=20=20=20=20//JFinal=E6=96=B0=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=B7=B2=E7=BB=8F=E6=94=AF=E6=8C=81=E7=9B=B4=E6=8E=A5=E8=A7=A3?= =?UTF-8?q?=E6=9E=90contentType=3Dapplication/json=E8=AF=B7=E6=B1=82?= =?UTF-8?q?=E7=9A=84rawdata=E6=95=B0=E6=8D=AE=E4=BA=86=20=20=20=20=20=20?= =?UTF-8?q?=20=20constants.setResolveJsonRequest(true);?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit java.lang.ClassCastException: io.undertow.servlet.spec.HttpServletRequestImpl cannot be cast to com.jfinal.core.paragetter.JsonRequest at com.jfinal.core.paragetter.ModelGetter.get(ModelGetter.java:41) at com.jfinal.core.paragetter.ParaProcessor.get(ParaProcessor.java:51) at com.jfinal.aop.Invocation.(Invocation.java:86) at cn.dev33.satoken.jfinal.SaTokenActionHandler.handle(SaTokenActionHandler.java:82) at com.jfinal.ext.handler.ContextPathHandler.handle(ContextPathHandler.java:48) at com.jfinal.core.JFinalFilter.doFilter(JFinalFilter.java:90) at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) Signed-off-by: yangghosts --- .../java/cn/dev33/satoken/jfinal/SaTokenActionHandler.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sa-token-starter/sa-token-jfinal-plugin/src/main/java/cn/dev33/satoken/jfinal/SaTokenActionHandler.java b/sa-token-starter/sa-token-jfinal-plugin/src/main/java/cn/dev33/satoken/jfinal/SaTokenActionHandler.java index 61fe3623..7503d151 100644 --- a/sa-token-starter/sa-token-jfinal-plugin/src/main/java/cn/dev33/satoken/jfinal/SaTokenActionHandler.java +++ b/sa-token-starter/sa-token-jfinal-plugin/src/main/java/cn/dev33/satoken/jfinal/SaTokenActionHandler.java @@ -74,9 +74,12 @@ public class SaTokenActionHandler extends ActionHandler { // Controller controller = action.getControllerClass().newInstance(); controller = controllerFactory.getController(action.getControllerClass()); CPI._init_(controller, action, request, response, urlPara[0]); - //加入SaToken上下文处理 + if (resolveJson && controller.isJsonRequest()) { + // 注入 JsonRequest 包装对象接管 request + controller.setHttpServletRequest(jsonRequestFactory.apply(controller.getRawData(), controller.getRequest())); + } + //加入SaToken上下文处理 SaControllerContext.hold(controller); - if (devMode) { if (actionReporter.isReportAfterInvocation(request)) { new Invocation(action, controller).invoke();