public static Object[] getArgs(Signature signature) throws Exception {
Method actionMethod = signature.getAction();
Request request = signature.request();
actionMethod.setAccessible(true);
Parameter[] parameters = actionMethod.getParameters();
Object[] args = new Object[parameters.length];
String[] parameterNames = AsmKit.getMethodParamNames(actionMethod);
for (int i = 0, len = parameters.length; i < len; i++) {
Parameter parameter = parameters[i];
String paramName = parameterNames[i];
Class<?> argType = parameter.getType();
if (containsAnnotation(parameter)) {
args[i] = getAnnotationParam(parameter, paramName, request);
continue;
}
if (ReflectKit.isPrimitive(argType)) {
args[i] = request.query(paramName);
continue;
}
args[i] = getCustomType(parameter, signature);
}
return args;
}
MethodArgument.java 文件源码
java
阅读 31
收藏 0
点赞 0
评论 0
项目:chopsticks
作者:
评论列表
文章目录