【7.1.6】【scanner】优化针资源扫描对ResponseData类型的data对象的类型处理

pull/25/MERGE
fengshuonan 2022-01-16 11:35:29 +08:00
parent be6ec9b002
commit a3c3559546
1 changed files with 7 additions and 2 deletions

View File

@ -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<FieldMetadata> 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;