protected void doCreateArgumentsMapper()

in swagger/swagger-invocation/invocation-core/src/main/java/org/apache/servicecomb/swagger/invocation/arguments/AbstractArgumentsMapperCreator.java [155:193]


  protected void doCreateArgumentsMapper() {
    java.lang.reflect.Parameter[] providerParameters = providerMethod.getParameters();
    for (int providerParamIdx = 0; providerParamIdx < providerParameters.length; providerParamIdx++) {
      java.lang.reflect.Parameter providerParameter = providerParameters[providerParamIdx];
      if (processContextParameter(providerParameter)) {
        continue;
      }

      String parameterName = collectParameterName(providerParameter);
      if (processKnownParameter(providerParamIdx, parameterName)) {
        processedSwaggerParameters.add(parameterName);
        continue;
      }

      if (processSwaggerBodyField(providerParamIdx, parameterName)) {
        processedSwaggerParameters.add(parameterName);
        isSwaggerBodyField = true;
        continue;
      }

      if (processBeanParameter(providerParamIdx, providerParameter)) {
        continue;
      }

      processUnknownParameter(providerParamIdx, providerParameter, parameterName);
    }

    // Process swagger parameters that not in method parameters
    if (swaggerParameters != null) {
      for (Parameter parameter : swaggerParameters) {
        if (!processedSwaggerParameters.contains(parameter.getName())) {
          processPendingSwaggerParameter(parameter);
        }
      }
    }
    if (bodyParameter != null) {
      processPendingBodyParameter(bodyParameter);
    }
  }