public void addParameters(final String rootPath, final String servicePath,
final String path, final MethodAccess methodAccess) {
final List<List<AnnotationData>> paramsAnnotationData = methodAccess.annotationDataForParams();
final List<TypeType> typeTypes = methodAccess.paramTypeEnumList();
final Class<?>[] parameterTypes = methodAccess.method().getParameterTypes();
final List<ParameterMeta> params = new ArrayList<>(typeTypes.size());
for (int index = 0; index < typeTypes.size(); index++) {
if (paramsAnnotationData.size() > index) {
final List<AnnotationData> annotationDataList = paramsAnnotationData.get(index);
final String finalPath = Str.join("/", rootPath, servicePath, path).replace("//", "/");
final TypeType paramType = typeTypes.get(index);
if (annotationDataList == null || annotationDataList.size() == 0) {
Param requestParam = getParam(finalPath, null, index, paramType, parameterTypes[index]);
final ParameterMeta param = createParamMeta(methodAccess, index, typeTypes, requestParam);
params.add(param);
continue;
}
for (AnnotationData annotationData : annotationDataList) {
Param requestParam = getParam(finalPath, annotationData, index, paramType, parameterTypes[index]);
if (requestParam != null) {
final ParameterMeta param = createParamMeta(methodAccess, index, typeTypes, requestParam);
params.add(param);
break;
}
}
}
}
this.parameters.addAll(params);
}