swagger OpenApi 2.0 JSON中“oneOf”构造的替代方法

s5a0g9ez  于 2022-12-13  发布在  其他
关注(0)|答案(1)|浏览(196)

我正在尝试创建一个JSON,它将在Microsoft Power Automate自定义连接器中使用OpenApi 2.0 swagger定义进行解析。
这是我目前拥有的JSON

"connectionParameters" : {
    "param1" : "value1",
    "param2" : "value2"
}

我想提供一个替代的连接参数模式,在这个模式中,用户可以从一组参数中选择一个参数来提供值。这可以在OpenAPI 3.0中通过以下方式实现:

"connectionParameters" : {
    anyOf : [
    {
      "param1" : "value1",
      "param2" : "value2"
    },
    {
      "alternateparam1" : "value1",
      "alternateparam2" : "value2"
    }
   ]
}

如何在OpenAPI 2.0中实现这一点?“anyOf”在OpenAPI 2.0定义中不可用。我已经研究了“discriminator”结构,但没有找到任何可以通过JSON模式提供的实现。

qvk1mo1f

qvk1mo1f1#

就我个人而言,我认为你在3.0版中尝试的方法会让最终用户有点困惑,因为我真的不明白他们在下拉菜单中实际选择的是什么。
我认为最好的办法(考虑到您的能力有限)是使用ENUM关键字定义一个基本的值列表,当选择这些值并将其传递到API时,您可以在后台选择问题中列出的更高级的对象。
https://swagger.io/docs/specification/data-models/enums/

相关问题