Enhance file upload support
This commit is contained in:
parent
e8613ebfdc
commit
87b4694cac
|
@ -155,7 +155,7 @@ public class TornaBuilder {
|
|||
* build apis
|
||||
* @param a api
|
||||
* @param hasDebugEnv has debug environment
|
||||
* @return
|
||||
* @return List of Api
|
||||
*/
|
||||
public static List<Apis> buildApis(ApiDoc a, boolean hasDebugEnv) {
|
||||
List<ApiMethodDoc> apiMethodDocs = a.getList();
|
||||
|
|
|
@ -123,7 +123,7 @@ public class FormDataBuildHelper {
|
|||
if (StringUtil.isNotEmpty(comment)) {
|
||||
comment = DocUtil.replaceNewLineToHtmlBr(comment);
|
||||
}
|
||||
if (fieldGicName.contains(DocGlobalConstants.MULTIPART_FILE_FULLY)) {
|
||||
if (JavaClassValidateUtil.isFile(fieldGicName)) {
|
||||
FormData formData = new FormData();
|
||||
formData.setKey(pre + fieldName);
|
||||
formData.setType("file");
|
||||
|
|
|
@ -232,7 +232,7 @@ public class ParamsBuildHelper {
|
|||
comment = DocUtil.replaceNewLineToHtmlBr(comment);
|
||||
}
|
||||
// file
|
||||
if (fieldGicName.contains(DocGlobalConstants.MULTIPART_FILE_FULLY)) {
|
||||
if (JavaClassValidateUtil.isFile(fieldGicName)) {
|
||||
ApiParam param = ApiParam.of().setField(pre + fieldName).setType("file")
|
||||
.setPid(pid).setId(paramList.size() + pid + 1)
|
||||
.setMaxLength(maxLength)
|
||||
|
|
|
@ -391,7 +391,7 @@ public class SpringBootDocBuildTemplate implements IDocBuildTemplate<ApiDoc> {
|
|||
continue;
|
||||
}
|
||||
//file upload
|
||||
if (gicTypeName.contains(DocGlobalConstants.MULTIPART_FILE_FULLY)) {
|
||||
if (JavaClassValidateUtil.isFile(gicTypeName)) {
|
||||
apiMethodDoc.setContentType(FILE_CONTENT_TYPE);
|
||||
FormData formData = new FormData();
|
||||
formData.setKey(paramName);
|
||||
|
@ -588,7 +588,7 @@ public class SpringBootDocBuildTemplate implements IDocBuildTemplate<ApiDoc> {
|
|||
paramName = StringUtil.camelToUnderline(paramName);
|
||||
}
|
||||
//file upload
|
||||
if (typeName.contains(DocGlobalConstants.MULTIPART_FILE_FULLY)) {
|
||||
if (JavaClassValidateUtil.isFile(typeName)) {
|
||||
ApiParam param = ApiParam.of().setField(paramName).setType("file")
|
||||
.setId(paramList.size() + 1).setQueryParam(true)
|
||||
.setRequired(true).setVersion(DocGlobalConstants.DEFAULT_VERSION)
|
||||
|
@ -687,7 +687,7 @@ public class SpringBootDocBuildTemplate implements IDocBuildTemplate<ApiDoc> {
|
|||
"true", responseFieldMap, Boolean.FALSE, new HashMap<>(), builder, groupClasses, 0));
|
||||
} else {
|
||||
throw new RuntimeException("Spring MVC can't support binding Collection on method "
|
||||
+ javaMethod.getName() + "Check it in " + javaMethod.getDeclaringClass().getCanonicalName());
|
||||
+ javaMethod.getName() + ",Check it in " + javaMethod.getDeclaringClass().getCanonicalName());
|
||||
}
|
||||
}
|
||||
} else if (JavaClassValidateUtil.isPrimitive(fullTypeName)) {
|
||||
|
|
|
@ -267,6 +267,9 @@ public class JavaClassValidateUtil {
|
|||
public static boolean isFile(String typeName){
|
||||
switch (typeName) {
|
||||
case "org.springframework.web.multipart.MultipartFile":
|
||||
case "org.springframework.web.multipart.MultipartFile[]":
|
||||
case "org.springframework.web.multipart.commons.CommonsMultipartFile":
|
||||
case "org.springframework.web.multipart.commons.CommonsMultipartFile[]":
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
|
@ -275,8 +278,8 @@ public class JavaClassValidateUtil {
|
|||
|
||||
/**
|
||||
* check reactor param
|
||||
* @param typeName
|
||||
* @return
|
||||
* @param typeName class name
|
||||
* @return boolean
|
||||
*/
|
||||
public static boolean isReactor(String typeName) {
|
||||
switch (typeName) {
|
||||
|
|
Loading…
Reference in New Issue