【问题标题】:SWAGGER: Dereferencing $ref from body parameterSWAGGER:从 body 参数中取消引用 $ref
【发布时间】:2016-09-29 13:45:55
【问题描述】:

以宠物店为例,

我正在尝试取消引用 /pet -> put 操作中的 $Ref 目前是: 图式 $ref: #definitions/宠物

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

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

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

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

有没有人知道从正文参数中提取此字符串的方法,并且通常因为模式返回类型模型? 我没有为 swagger parser 和 swagger inflector 项目找到合适的文档来源,所以在源代码本身中四处寻找。

【问题讨论】:

    标签: swagger


    【解决方案1】:

    您将执行以下操作:

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

    您应该确认concreteModel 是ModelImpl,但在宠物商店的情况下,它会是。

    【讨论】:

    • 出于某种原因,我不得不使用RefPropertys,但是一旦我弄清楚了,这非常有帮助!
    猜你喜欢
    • 2015-11-20
    • 1970-01-01
    • 2019-07-18
    • 2011-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-16
    • 1970-01-01
    相关资源
    最近更新 更多