MethodArgument.java 文件源码

java
阅读 31 收藏 0 点赞 0 评论 0

项目:chopsticks 作者:
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;
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号