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

@ -151,17 +151,17 @@ public class ParamsBuildHelper {
boolean strRequired = false; boolean strRequired = false;
int annotationCounter = 0; int annotationCounter = 0;
CustomField customResponseField = responseFieldMap.get(fieldName); CustomField customResponseField = responseFieldMap.get(fieldName);
if (customResponseField != null && JavaClassUtil.isTargetChildClass(simpleName,customResponseField.getOwnerClassName()) && (customResponseField.isIgnore()) && isResp) { if (customResponseField != null && JavaClassUtil.isTargetChildClass(simpleName, customResponseField.getOwnerClassName()) && (customResponseField.isIgnore()) && isResp) {
continue; continue;
} }
CustomField customRequestField = projectBuilder.getCustomReqFieldMap().get(fieldName); CustomField customRequestField = projectBuilder.getCustomReqFieldMap().get(fieldName);
if (customRequestField != null && JavaClassUtil.isTargetChildClass(simpleName,customRequestField.getOwnerClassName())&& (customRequestField.isIgnore()) && !isResp) { if (customRequestField != null && JavaClassUtil.isTargetChildClass(simpleName, customRequestField.getOwnerClassName()) && (customRequestField.isIgnore()) && !isResp) {
continue; continue;
} }
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)) {
@ -211,18 +221,18 @@ public class ParamsBuildHelper {
} }
} }
//cover required //cover required
if (customRequestField != null && !isResp && JavaClassUtil.isTargetChildClass(simpleName,customRequestField.getOwnerClassName()) if (customRequestField != null && !isResp && JavaClassUtil.isTargetChildClass(simpleName, customRequestField.getOwnerClassName())
&& customRequestField.isRequire()) { && customRequestField.isRequire()) {
strRequired = true; strRequired = true;
} }
//cover comment //cover comment
String comment = ""; String comment = "";
if (null != customRequestField && StringUtil.isNotEmpty(customRequestField.getDesc()) if (null != customRequestField && StringUtil.isNotEmpty(customRequestField.getDesc())
&& JavaClassUtil.isTargetChildClass(simpleName,customRequestField.getOwnerClassName()) && !isResp) { && JavaClassUtil.isTargetChildClass(simpleName, customRequestField.getOwnerClassName()) && !isResp) {
comment = customRequestField.getDesc(); comment = customRequestField.getDesc();
} }
if (null != customResponseField && StringUtil.isNotEmpty(customResponseField.getDesc()) if (null != customResponseField && StringUtil.isNotEmpty(customResponseField.getDesc())
&& JavaClassUtil.isTargetChildClass(simpleName,customResponseField.getOwnerClassName()) && isResp) { && JavaClassUtil.isTargetChildClass(simpleName, customResponseField.getOwnerClassName()) && isResp) {
comment = customResponseField.getDesc(); comment = customResponseField.getDesc();
} }
if (StringUtils.isBlank(comment)) { if (StringUtils.isBlank(comment)) {
@ -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);
@ -315,7 +322,7 @@ public class ParamsBuildHelper {
} }
index++; index++;
} }
Object value = JavaClassUtil.getEnumValue(javaClass,!jsonRequest); Object value = JavaClassUtil.getEnumValue(javaClass, !jsonRequest);
param.setValue(String.valueOf(value)); param.setValue(String.valueOf(value));
param.setEnumValues(JavaClassUtil.getEnumValues(javaClass)); param.setEnumValues(JavaClassUtil.getEnumValues(javaClass));
param.setType(DocGlobalConstants.ENUM); param.setType(DocGlobalConstants.ENUM);
@ -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) +
"]"; "]";
param.setValue(DocUtil.handleJsonStr(builder)); if (StringUtil.isEmpty(fieldValue)) {
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,10 +848,11 @@ 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) {