diff --git a/web/src/main/java/cn/jlw/Interceptor/GetFile.java b/web/src/main/java/cn/jlw/Interceptor/GetFile.java index 39654c94..9a195b88 100644 --- a/web/src/main/java/cn/jlw/Interceptor/GetFile.java +++ b/web/src/main/java/cn/jlw/Interceptor/GetFile.java @@ -66,7 +66,11 @@ public class GetFile implements HandlerMethodArgumentResolver { @Override public boolean supportsParameter(MethodParameter parameter) { - return parameter.getParameterType().isAssignableFrom(FileEntity.class) && parameter.hasParameterAnnotation(RFile.class); + if ((parameter.getParameterType().isAssignableFrom(FileEntity.class) || parameter.getParameterType().isAssignableFrom(List.class)) + && parameter.hasParameterAnnotation(RFile.class) ) { + return true; + } + return false; } @@ -172,6 +176,7 @@ public class GetFile implements HandlerMethodArgumentResolver { @Override public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception { RFile rFile = parameter.getParameterAnnotation(RFile.class); + Boolean isList = parameter.getParameterType().equals(List.class); List fileEntityList = new ArrayList<>(); @@ -429,7 +434,7 @@ public class GetFile implements HandlerMethodArgumentResolver { return null; } - if(fileEntityList.size() == 1){ + if(fileEntityList.size() > 0 && !isList){ return fileEntityList.get(0); } return fileEntityList;