From 1febfe85790960f0fbf51bff584a08ac11b8fc74 Mon Sep 17 00:00:00 2001 From: lxbzmy Date: Mon, 16 Mar 2020 20:15:53 +0800 Subject: [PATCH] =?UTF-8?q?type=20cast=20exception.=20=E8=BF=99=E4=B8=AA?= =?UTF-8?q?=E5=9C=B0=E6=96=B9=E7=B1=BB=E5=9E=8B=E8=BD=AC=E6=8D=A2=E5=88=A4?= =?UTF-8?q?=E6=96=AD=E6=98=AF=E6=9C=89=E9=97=AE=E9=A2=98=E7=9A=84=E3=80=82?= =?UTF-8?q?=201.=20=E5=A6=82=E6=9E=9C=E6=96=B9=E6=B3=95=E7=AD=BE=E5=90=8D?= =?UTF-8?q?=E9=83=BD=E6=98=AFList=E6=8E=A5=E5=8F=A3=E5=9E=8B=EF=BC=8Cjava.?= =?UTF-8?q?util.List=20!=3D=20java.util.ArrayList;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2. method.getReturnType() 没有泛型的参数类型,需要使用getGenericReturnType map.readValue(json, map.getTypeFactory().constructType(methods.getGenericReturnType())); --- .../factory/process/post/bean/PluginInvokePostProcessor.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/post/bean/PluginInvokePostProcessor.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/post/bean/PluginInvokePostProcessor.java index 2afd559..9a11caa 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/post/bean/PluginInvokePostProcessor.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/post/bean/PluginInvokePostProcessor.java @@ -288,11 +288,11 @@ public class PluginInvokePostProcessor implements PluginPostProcessor { return null; } Class returnType = method.getReturnType(); - if(returnType == invokeReturn.getClass()){ + if(ClassUtils.isAssignable(invokeReturn.getClass(),returnType)){ return invokeReturn; } else { String json = OBJECT_MAPPER.writeValueAsString(invokeReturn); - return OBJECT_MAPPER.readValue(json, returnType); + return OBJECT_MAPPER.readValue(json, OBJECT_MAPPER.getTypeFactory().constructType(method.getGenericReturnType()) ); } } -- Gitee