首页 文章

SWAGGER:从body参数中取消引用$ ref

提问于
浏览
1

以petstore为例,

我试图取消引用/ pet中的$ Ref - >当前的put操作:schema $ ref:#ninition / Pet

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

BodyParameter bp =(BodyParameter)param; System.out.println(((RefModel)bp.getSchema()) . get $ ref());

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

线程“main”中的异常java.lang.ClassCastException:io.swagger.models.ModelImpl无法强制转换为io.swagger.models.RefModel

有没有人知道从body参数中提取这个字符串的方法,一般情况下,因为模式返回一个Type Model?我没有为swagger解析器,swagger inflector项目找到合适的文档源,因此通过源代码本身进行搜索 .

1 回答

  • 4

    你会做以下事情:

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

    您应该确认 concreteModelModelImpl 但是在petstore案例中,它将是 .

相关问题