From a3c3559546d2a4cc9cee564992de6a1767c75f2e Mon Sep 17 00:00:00 2001 From: fengshuonan Date: Sun, 16 Jan 2022 11:35:29 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=907.1.6=E3=80=91=E3=80=90scanner?= =?UTF-8?q?=E3=80=91=E4=BC=98=E5=8C=96=E9=92=88=E8=B5=84=E6=BA=90=E6=89=AB?= =?UTF-8?q?=E6=8F=8F=E5=AF=B9ResponseData=E7=B1=BB=E5=9E=8B=E7=9A=84data?= =?UTF-8?q?=E5=AF=B9=E8=B1=A1=E7=9A=84=E7=B1=BB=E5=9E=8B=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../scanner/api/factory/ClassDetailMetadataFactory.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/kernel-d-scanner/scanner-api/src/main/java/cn/stylefeng/roses/kernel/scanner/api/factory/ClassDetailMetadataFactory.java b/kernel-d-scanner/scanner-api/src/main/java/cn/stylefeng/roses/kernel/scanner/api/factory/ClassDetailMetadataFactory.java index 762e67d3e..88956698b 100644 --- a/kernel-d-scanner/scanner-api/src/main/java/cn/stylefeng/roses/kernel/scanner/api/factory/ClassDetailMetadataFactory.java +++ b/kernel-d-scanner/scanner-api/src/main/java/cn/stylefeng/roses/kernel/scanner/api/factory/ClassDetailMetadataFactory.java @@ -1,6 +1,5 @@ package cn.stylefeng.roses.kernel.scanner.api.factory; -import cn.hutool.core.util.ObjectUtil; import cn.stylefeng.roses.kernel.scanner.api.context.MetadataContext; import cn.stylefeng.roses.kernel.scanner.api.enums.FieldTypeEnum; import cn.stylefeng.roses.kernel.scanner.api.pojo.resource.FieldMetadata; @@ -125,7 +124,7 @@ public class ClassDetailMetadataFactory { Class clazz = (Class) fieldType; // 获取主类型的所有属性 Set fieldDetailMetadataSet = createFieldDetailMetadataSet(clazz, uuid); - if (ObjectUtil.isEmpty(fieldDetailMetadataSet)) { + if (fieldDetailMetadataSet == null) { return null; } for (FieldMetadata fieldMetadata : fieldDetailMetadataSet) { @@ -148,6 +147,12 @@ public class ClassDetailMetadataFactory { } fieldMetadata.setGenericFieldMetadata(current); } + + // 如果是T这种形式,应该将当前fieldMetadata的类型改为泛型的类型,例如参数genericType是List时候 + if (FieldTypeEnum.WITH_UNKNOWN_GENERIC.getCode().equals(fieldMetadata.getFieldType())) { + FieldTypeEnum classFieldType = ClassTypeUtil.getClassFieldType(genericType); + fieldMetadata.setFieldType(classFieldType.getCode()); + } } return fieldDetailMetadataSet;