fix gitee #I3R9P2 .

This commit is contained in:
shalousun 2021-05-15 21:46:49 +08:00
parent 9e419fbac9
commit 40be476c48
3 changed files with 40 additions and 16 deletions

View File

@ -1,4 +1,9 @@
## smart-doc版本 ## smart-doc版本
#### 版本号2.1.8
- 更新日期: 2020-05-17
- 更新内容:
1. 修复推送接口到torna丢失部分mock值的问题。
2. 修复在参数注释中配置类替换时将非类名解析成类名的bug 。
#### 版本号2.1.7 #### 版本号2.1.7
- 更新日期: 2020-05-12 - 更新日期: 2020-05-12
- 更新内容: - 更新内容:

View File

@ -161,7 +161,7 @@ public class ParamsBuildHelper {
an: an:
for (JavaAnnotation annotation : javaAnnotations) { for (JavaAnnotation annotation : javaAnnotations) {
String simpleAnnotationName = annotation.getType().getValue(); String simpleAnnotationName = annotation.getType().getValue();
if ("max".equals(simpleAnnotationName.toLowerCase())) { if ("max".equalsIgnoreCase(simpleAnnotationName)) {
maxLength = annotation.getProperty(DocAnnotationConstants.VALUE_PROP).toString(); maxLength = annotation.getProperty(DocAnnotationConstants.VALUE_PROP).toString();
} }
if (DocAnnotationConstants.SHORT_JSON_IGNORE.equals(simpleAnnotationName)) { if (DocAnnotationConstants.SHORT_JSON_IGNORE.equals(simpleAnnotationName)) {
@ -203,6 +203,16 @@ public class ParamsBuildHelper {
break an; break an;
} }
} }
String fieldValue = "";
if (tagsMap.containsKey(DocTags.MOCK) && StringUtil.isNotEmpty(tagsMap.get(DocTags.MOCK))) {
fieldValue = tagsMap.get(DocTags.MOCK);
if (!DocUtil.javaPrimaryType(typeSimpleName)
&& !JavaClassValidateUtil.isCollection(subTypeName)
&& !JavaClassValidateUtil.isMap(subTypeName)
&& !JavaClassValidateUtil.isArray(subTypeName)) {
fieldValue = DocUtil.handleJsonStr(fieldValue);
}
}
if (annotationCounter < 1) { if (annotationCounter < 1) {
doc: doc:
if (tagsMap.containsKey(DocTags.REQUIRED)) { if (tagsMap.containsKey(DocTags.REQUIRED)) {
@ -241,10 +251,7 @@ public class ParamsBuildHelper {
continue; continue;
} }
if (JavaClassValidateUtil.isPrimitive(subTypeName)) { if (JavaClassValidateUtil.isPrimitive(subTypeName)) {
String fieldValue = ""; if (StringUtil.isEmpty(fieldValue)) {
if (tagsMap.containsKey(DocTags.MOCK) && StringUtil.isNotEmpty(tagsMap.get(DocTags.MOCK))) {
fieldValue = tagsMap.get(DocTags.MOCK);
} else {
fieldValue = DocUtil.getValByTypeAndFieldName(typeSimpleName, field.getName()); fieldValue = DocUtil.getValByTypeAndFieldName(typeSimpleName, field.getName());
} }
ApiParam param = ApiParam.of().setField(pre + fieldName); ApiParam param = ApiParam.of().setField(pre + fieldName);
@ -364,9 +371,16 @@ public class ParamsBuildHelper {
continue out; continue out;
} }
String gName = DocClassUtil.getSimpleGicName(gNameTemp)[0]; String gName = DocClassUtil.getSimpleGicName(gNameTemp)[0];
if (!JavaClassValidateUtil.isPrimitive(gName)) { if (!JavaClassValidateUtil.isPrimitive(gName)) {
if (!simpleName.equals(gName) && !gName.equals(simpleName)) { if (!simpleName.equals(gName) && !gName.equals(simpleName)) {
if (gName.length() == 1) { JavaClass arraySubClass = projectBuilder.getJavaProjectBuilder().getClassByName(gName);
if (arraySubClass.isEnum()) {
Object value = JavaClassUtil.getEnumValue(arraySubClass, Boolean.FALSE);
StringBuilder sb = new StringBuilder();
sb.append("[\"").append(value).append("\"]");
param.setValue(sb.toString());
} else if (gName.length() == 1) {
// handle generic // handle generic
int len = globGicName.length; int len = globGicName.length;
if (len < 1) { if (len < 1) {
@ -388,7 +402,11 @@ public class ParamsBuildHelper {
"," + "," +
DocUtil.jsonValueByType(gName) + DocUtil.jsonValueByType(gName) +
"]"; "]";
if (StringUtil.isEmpty(fieldValue)) {
param.setValue(DocUtil.handleJsonStr(builder)); param.setValue(DocUtil.handleJsonStr(builder));
} else {
param.setValue(fieldValue);
}
} }
} else if (subTypeName.length() == 1 || DocGlobalConstants.JAVA_OBJECT_FULLY.equals(subTypeName)) { } else if (subTypeName.length() == 1 || DocGlobalConstants.JAVA_OBJECT_FULLY.equals(subTypeName)) {
// handle java generic or object // handle java generic or object

View File

@ -848,11 +848,12 @@ public class SpringBootDocBuildTemplate implements IDocBuildTemplate<ApiDoc> {
if (Objects.nonNull(commentClass) && !DocGlobalConstants.NO_COMMENTS_FOUND.equals(commentClass)) { if (Objects.nonNull(commentClass) && !DocGlobalConstants.NO_COMMENTS_FOUND.equals(commentClass)) {
String[] comments = commentClass.split("\\|"); String[] comments = commentClass.split("\\|");
rewriteClassName = comments[comments.length - 1]; rewriteClassName = comments[comments.length - 1];
} else { if (DocUtil.isClassName(rewriteClassName)) {
rewriteClassName = replacementMap.get(fullTypeName);
}
return rewriteClassName; return rewriteClassName;
} }
}
return replacementMap.get(fullTypeName);
}
private String createMockValue(Map<String, String> paramsComments, String paramName, String typeName, String simpleTypeName) { private String createMockValue(Map<String, String> paramsComments, String paramName, String typeName, String simpleTypeName) {
String mockValue = ""; String mockValue = "";