Swagger 招摇过市:从body参数中取消引用$ref

Swagger 招摇过市:从body参数中取消引用$ref,swagger,Swagger,以petstore为例 我试图在/pet->put操作中取消引用$Ref,该操作当前为: 模式 $ref:定义/宠物 我正在尝试解决这个问题,但无法从json文件中获取此文本。 这就是我所拥有的: BodyParameter bp=BodyParameter参数; System.out.printlrefmodel bp.getSchema.get$ref 我以为这会给我上面的文本,我可以稍后映射到定义映射并解决它,但得到以下错误: 主线程java.lang.ClassCastException

以petstore为例

我试图在/pet->put操作中取消引用$Ref,该操作当前为: 模式 $ref:定义/宠物

我正在尝试解决这个问题,但无法从json文件中获取此文本。 这就是我所拥有的:

BodyParameter bp=BodyParameter参数; System.out.printlrefmodel bp.getSchema.get$ref

我以为这会给我上面的文本,我可以稍后映射到定义映射并解决它,但得到以下错误:

主线程java.lang.ClassCastException中的异常:io.swagger.models.ModelImpl无法转换为io.swagger.models.RefModel

既然模式返回一个类型模型,有人知道从主体参数中提取这个字符串的方法吗?
我找不到适合swagger解析器的文档源,swagger inflector项目需要查找源代码本身。

您可以执行以下操作:

Model model = bp.getSchema();
if(model instanceof RefModel) {
  RefModel ref = (RefModel) model;
  String simpleRef = ref.getSimpleRef();
  Model concreteModel = swagger.getDefinitions().get(simpleRef);
}

您应该确认concreteModel是ModelImpl,但在petstore案例中,它将是。

您将执行以下操作:

Model model = bp.getSchema();
if(model instanceof RefModel) {
  RefModel ref = (RefModel) model;
  String simpleRef = ref.getSimpleRef();
  Model concreteModel = swagger.getDefinitions().get(simpleRef);
}
您应该确认concreteModel是ModelImpl,但在petstore的案例中,它将是。

出于某种原因,我不得不使用RefPropertys,但一旦我发现了这一点,这非常有用!出于某种原因,我不得不使用RefPropertys,但一旦我意识到这一点,这是非常有用的!