diff --git a/src/org/redkale/net/http/Rest.java b/src/org/redkale/net/http/Rest.java index 1544c17b7..3df9f9556 100644 --- a/src/org/redkale/net/http/Rest.java +++ b/src/org/redkale/net/http/Rest.java @@ -401,6 +401,7 @@ public final class Rest { Set paramnames = new HashSet<>(); String methodesc = method.getName() + ":" + Type.getMethodDescriptor(method); List names = asmParamMap.get(methodesc); + if (names != null) while (names.remove(" ")); //删掉空元素 Parameter[] params = method.getParameters(); final LinkedHashMap paramap = new LinkedHashMap(); //必须使用LinkedHashMap确保顺序 for (int j = 0; j < params.length; j++) { //字段列表 @@ -891,6 +892,7 @@ public final class Rest { int maxLocals = 4; List asmParamNames = asmParamMap == null ? null : asmParamMap.get(method.getName() + ":" + Type.getMethodDescriptor(method)); + if (asmParamNames != null) while (asmParamNames.remove(" ")); //删掉空元素 List paramlist = new ArrayList<>(); //解析方法中的每个参数 for (int i = 0; i < params.length; i++) { @@ -1723,6 +1725,7 @@ public final class Rest { } cw.visitEnd(); + Class newClazz = new RestClassLoader(loader).loadClass(newDynName.replace('/', '.'), cw.toByteArray()); try { T obj = ((Class) newClazz).getDeclaredConstructor().newInstance(); diff --git a/src/org/redkale/util/Creator.java b/src/org/redkale/util/Creator.java index 9e0857276..0f48da229 100644 --- a/src/org/redkale/util/Creator.java +++ b/src/org/redkale/util/Creator.java @@ -140,6 +140,7 @@ public interface Creator { } final List fieldnames = new ArrayList<>(); new ClassReader(out.toByteArray()).accept(new SimpleClassVisitor(Opcodes.ASM6, fieldnames, constructorDesc), 0); + while (fieldnames.remove(" ")); //删掉空元素 if (fieldnames.isEmpty()) return null; if (paramcount == fieldnames.size()) { return getConstructorField(clazz, paramcount, fieldnames.toArray(new String[fieldnames.size()]));