io.swagger.converter.ModelConverters.readAsProperty()方法的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(12.2k)|赞(0)|评价(0)|浏览(118)

本文整理了Java中io.swagger.converter.ModelConverters.readAsProperty()方法的一些代码示例,展示了ModelConverters.readAsProperty()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ModelConverters.readAsProperty()方法的具体详情如下:
包路径:io.swagger.converter.ModelConverters
类名称:ModelConverters
方法名:readAsProperty

ModelConverters.readAsProperty介绍

暂无

代码示例

代码示例来源:origin: jooby-project/jooby

private void buildResponseHeader(Map<String, Object> attributes, String name,
  BiConsumer<String, Property> consumer) {
 Object[] headers = (Object[]) attributes.get(name);
 if (headers != null) {
  ModelConverters converter = ModelConverters.getInstance();
  Stream.of(headers)
    .map(Map.class::cast)
    .filter(it -> ((String) it.get("responseHeader.name")).length() > 0)
    .forEach(header -> {
     String hname = header.get("responseHeader.name").toString();
     Property htype = converter.readAsProperty((Type) header.get("responseHeader.response"));
     consumer.accept(hname, htype);
    });
 }
}

代码示例来源:origin: jooby-project/jooby

if (existing == null) {
 ModelConverters converter = ModelConverters.getInstance();
 Property property = converter.readAsProperty(componentType);

代码示例来源:origin: jooby-project/jooby

Property property = converter.readAsProperty(type);
Map<PropertyId, Object> args = new EnumMap<>(PropertyId.class);
return PropertyBuilder.toModel(PropertyBuilder.merge(property, args));
 final Property property = converter.readAsProperty(type);
 Parameter parameter = it.accept(new RouteParameter.Visitor<Parameter>() {
  @Override public Parameter visitBody(final RouteParameter parameter) {

代码示例来源:origin: apache/servicecomb-java-chassis

/**
 * Find all query object params
 * @return the names of the query object params
 */
@Override
protected Set<String> findAggregatedParamNames(Map<String, ProviderParameter> providerParamMap,
  Map<String, ParamWrapper<Parameter>> swaggerParamMap) {
 // find all reference type producer params, and exclude body param
 Set<String> queryObjectSet = new HashSet<>();
 for (Entry<String, ProviderParameter> paramEntry : providerParamMap.entrySet()) {
  Type paramType = paramEntry.getValue().getType();
  Property property = ModelConverters.getInstance().readAsProperty(paramType);
  if (RefProperty.class.isInstance(property)) {
   queryObjectSet.add(paramEntry.getKey());
  }
 }
 for (Entry<String, ParamWrapper<Parameter>> paramEntry : swaggerParamMap.entrySet()) {
  if (ParamUtils.isRealBodyParameter(paramEntry.getValue().getParam())) {
   queryObjectSet.remove(paramEntry.getKey());
  }
 }
 return queryObjectSet;
}

代码示例来源:origin: apache/servicecomb-java-chassis

@Override
 public Property process(OperationGenerator operationGenerator) {
  ParameterizedType type =
    (ParameterizedType) operationGenerator.getProviderMethod().getGenericReturnType();

  Type responseType = type.getActualTypeArguments()[0];
  ParamUtils.addDefinitions(operationGenerator.getSwagger(), responseType);
  return ModelConverters.getInstance().readAsProperty(responseType);
 }
}

代码示例来源:origin: apache/servicecomb-java-chassis

public static void setParameterType(Swagger swagger, Method method, int paramIdx,
  AbstractSerializableParameter<?> parameter) {
 Type paramType = ParamUtils.getGenericParameterType(method, paramIdx);
 ParamUtils.addDefinitions(swagger, paramType);
 Property property = ModelConverters.getInstance().readAsProperty(paramType);
 if (isComplexProperty(property)) {
  // cannot set a simple parameter(header, query, etc.) as complex type
  String msg = String.format("not allow complex type for %s parameter, method=%s:%s, paramIdx=%d, type=%s",
    parameter.getIn(),
    method.getDeclaringClass().getName(),
    method.getName(),
    paramIdx,
    paramType.getTypeName());
  throw new Error(msg);
 }
 parameter.setProperty(property);
}

代码示例来源:origin: apache/servicecomb-java-chassis

/**
 * Set param type info. For {@linkplain javax.ws.rs.BeanParam BeanParam} scenario.
 *
 * @param paramType type of the swagger parameter
 * @param parameter swagger parameter
 */
public static void setParameterType(Type paramType, AbstractSerializableParameter<?> parameter) {
 Property property = ModelConverters.getInstance().readAsProperty(paramType);
 if (isComplexProperty(property)) {
  // cannot set a simple parameter(header, query, etc.) as complex type
  throw new IllegalArgumentException(
    String.format(
      "not allow such type of param:[%s], param name is [%s]",
      property.getClass(),
      parameter.getName()));
 }
 parameter.setProperty(property);
}

代码示例来源:origin: apache/servicecomb-java-chassis

@Override
 public Property process(OperationGenerator operationGenerator) {
  Type responseType = operationGenerator.getProviderMethod().getGenericReturnType();

  ParamUtils.addDefinitions(operationGenerator.getSwagger(), responseType);
  return ModelConverters.getInstance().readAsProperty(responseType);
 }
}

代码示例来源:origin: kongchen/swagger-maven-plugin

private Property readAsPropertyIfPrimitive(Type type) {
  if (com.github.kongchen.swagger.docgen.util.TypeUtils.isPrimitive(type)) {
    return ModelConverters.getInstance().readAsProperty(type);
  } else {
    String msg = String.format("Can't use non-primitive type: %s as request parameter", type);
    log.error(msg);
    // fallback to string if type is simple wrapper for String to support legacy code
    JavaType ct = constructType(type);
    if (isSimpleWrapperForString(ct.getRawClass())) {
      log.warn(String.format("Non-primitive type: %s used as string for request parameter", type));
      return new StringProperty();
    }
  }
  return null;
}

代码示例来源:origin: kongchen/swagger-maven-plugin

public static boolean isPrimitive(Type cls) {
    boolean isPrimitive = false;

    Property property = ModelConverters.getInstance().readAsProperty(cls);
    if (property == null) {
      isPrimitive = false;
    } else if ("integer".equals(property.getType())) {
      isPrimitive = true;
    } else if ("string".equals(property.getType())) {
      isPrimitive = true;
    } else if ("number".equals(property.getType())) {
      isPrimitive = true;
    } else if ("boolean".equals(property.getType())) {
      isPrimitive = true;
    } else if ("array".equals(property.getType())) {
      isPrimitive = true;
    } else if ("file".equals(property.getType())) {
      isPrimitive = true;
    }
    return isPrimitive;
  }
}

代码示例来源:origin: apache/servicecomb-java-chassis

@Override
 public void process(OperationGenerator operationGenerator, int paramIdx) {
  Type paramType = ParamUtils.getGenericParameterType(operationGenerator.getProviderMethod(), paramIdx);
  Property property = ModelConverters.getInstance().readAsProperty(paramType);

  if (RefProperty.class.isInstance(property)) {
   objectParameterProcessor.process(operationGenerator, paramIdx);
   return;
  }
  if (!ParamUtils.isComplexProperty(property)) {
   simpleParameterProcessor.process(operationGenerator, paramIdx);
   return;
  }

  // unsupported param type
  String msg = String.format("cannot process parameter [%s], method=%s:%s, paramIdx=%d, type=%s",
    ParamUtils.getParameterName(operationGenerator.getProviderMethod(), paramIdx),
    operationGenerator.getProviderMethod().getDeclaringClass().getName(),
    operationGenerator.getProviderMethod().getName(),
    paramIdx,
    paramType.getTypeName());
  throw new Error(msg);
 }
}

代码示例来源:origin: kongchen/swagger-maven-plugin

private CookieParameter extractCookieParameter(Type type, String defaultValue, CookieParam param) {
  CookieParameter cookieParameter = new CookieParameter().name(param.value());
  if (!Strings.isNullOrEmpty(defaultValue)) {
    cookieParameter.setDefaultValue(defaultValue);
  }
  Property schema = ModelConverters.getInstance().readAsProperty(type);
  if (schema != null) {
    cookieParameter.setProperty(schema);
  }
  String parameterType = cookieParameter.getType();
  if (parameterType == null || parameterType.equals("ref") || parameterType.equals("array")) {
    cookieParameter.setType("string");
  }
  return cookieParameter;
}

代码示例来源:origin: kongchen/swagger-maven-plugin

private FormParameter extractFormParameter(Type type, String defaultValue, FormParam param) {
    FormParameter formParameter = new FormParameter().name(param.value());
    if (!Strings.isNullOrEmpty(defaultValue)) {
      formParameter.setDefaultValue(defaultValue);
    }
    Property schema = ModelConverters.getInstance().readAsProperty(type);
    if (schema != null) {
      formParameter.setProperty(schema);
    }

    String parameterType = formParameter.getType();
    if (parameterType == null || parameterType.equals("ref") || parameterType.equals("array")) {
      formParameter.setType("string");
    }
    return formParameter;
  }
}

代码示例来源:origin: kongchen/swagger-maven-plugin

private HeaderParameter extractHeaderParam(Type type, String defaultValue, HeaderParam param) {
  HeaderParameter headerParameter = new HeaderParameter().name(param.value());
  if (!Strings.isNullOrEmpty(defaultValue)) {
    headerParameter.setDefaultValue(defaultValue);
  }
  Property schema = ModelConverters.getInstance().readAsProperty(type);
  if (schema != null) {
    headerParameter.setProperty(schema);
  }
  String parameterType = headerParameter.getType();
  if (parameterType == null || parameterType.equals("ref") || parameterType.equals("array")) {
    headerParameter.setType("string");
  }
  return headerParameter;
}

代码示例来源:origin: apache/servicecomb-java-chassis

@Override
 public Property process(OperationGenerator operationGenerator) {
  // Response完全表达应答类型
  // 如果produces是text,那么可以假设是string,否则只能报错
  List<String> produces = operationGenerator.getOperation().getProduces();
  if (produces == null) {
   produces = operationGenerator.getSwagger().getProduces();
  }
  if (produces != null) {
   if (produces.contains(MediaType.TEXT_PLAIN)) {
    Type responseType = String.class;
    ParamUtils.addDefinitions(operationGenerator.getSwagger(), responseType);
    return ModelConverters.getInstance().readAsProperty(responseType);
   }
  }

  throw new Error("Use ApiOperation or ApiResponses to declare response type");
 }
}

代码示例来源:origin: kongchen/swagger-maven-plugin

private QueryParameter extractQueryParam(Type type, String defaultValue, QueryParam param) {
  QueryParameter queryParameter = new QueryParameter().name(param.value());
  if (!Strings.isNullOrEmpty(defaultValue)) {
    queryParameter.setDefaultValue(defaultValue);
  }
  Property schema = ModelConverters.getInstance().readAsProperty(type);
  if (schema != null) {
    queryParameter.setProperty(schema);
  }
  String parameterType = queryParameter.getType();
  if (parameterType == null || parameterType.equals("ref")) {
    queryParameter.setType("string");
  }
  return queryParameter;
}

代码示例来源:origin: kongchen/swagger-maven-plugin

private PathParameter extractPathParam(Type type, String defaultValue, PathParam param) {
  PathParameter pathParameter = new PathParameter().name(param.value());
  if (!Strings.isNullOrEmpty(defaultValue)) {
    pathParameter.setDefaultValue(defaultValue);
  }
  Property schema = ModelConverters.getInstance().readAsProperty(type);
  if (schema != null) {
    pathParameter.setProperty(schema);
  }
  String parameterType = pathParameter.getType();
  if (parameterType == null || parameterType.equals("ref")) {
    pathParameter.setType("string");
  }
  return pathParameter;
}

代码示例来源:origin: apache/servicecomb-java-chassis

public static PendingBodyParameter createPendingBodyParameter(OperationGenerator operationGenerator,
   String paramName, Type paramType) {
  ParamUtils.addDefinitions(operationGenerator.getSwagger(), paramType);
  Property property = ModelConverters.getInstance().readAsProperty(paramType);

  PendingBodyParameter pendingBodyParameter = new PendingBodyParameter();
  pendingBodyParameter.setName(paramName);
  pendingBodyParameter.setProperty(property);
  pendingBodyParameter.setType(paramType);
  pendingBodyParameter.setOperationGenerator(operationGenerator);

  return pendingBodyParameter;
 }
}

代码示例来源:origin: apache/servicecomb-java-chassis

public static BodyParameter createBodyParameter(Swagger swagger, String paramName, Type paramType) {
 addDefinitions(swagger, paramType);
 Property property = ModelConverters.getInstance().readAsProperty(paramType);
 Model model = PropertyBuilder.toModel(property);
 if (model instanceof ModelImpl && property instanceof StringProperty) {
  ((ModelImpl) model).setEnum(((StringProperty) property).getEnum());
 }
 BodyParameter bodyParameter = new BodyParameter();
 bodyParameter.setName(paramName);
 bodyParameter.setSchema(model);
 return bodyParameter;
}

代码示例来源:origin: kongchen/swagger-maven-plugin

private FormParameter extractRequestPart(Type type, RequestPart requestPart) {
  String paramName = StringUtils.defaultIfEmpty(requestPart.value(), requestPart.name());
  FormParameter formParameter = new FormParameter().name(paramName)
      .required(requestPart.required());
  JavaType ct = constructType(type);
  Property schema;
  if (MultipartFile.class.isAssignableFrom(ct.getRawClass())) {
    schema = new FileProperty();
  } else if (ct.isContainerType() &&
      MultipartFile.class.isAssignableFrom(ct.getContentType().getRawClass())) {
    schema = new ArrayProperty().items(new FileProperty());
  } else {
    schema = ModelConverters.getInstance().readAsProperty(type);
  }
  if (schema != null) {
    formParameter.setProperty(schema);
  }
  return formParameter;
}

相关文章