Swagger生成-引用同一架构下的架构

new9mtju  于 2022-11-06  发布在  其他
关注(0)|答案(2)|浏览(171)

因此,我为我们的API生成了一个yaml文件。问题是,在我的代码中,我有一个Account对象,它有属性和一个作为子帐户的列表。
Yaml看起来像这样:

Account:
  type: Object
  properties: 
    name:
      type: string
    <other attributes>
      <other types>
    subAccounts:
      type: array
      $ref: '#/components/schema/Account'

生成了架构,但没有生成子帐户。如果我添加了“描述”-它将生成,但具有空白属性。有什么方法可以正确引用同一对象吗?

ou6hu8tu

ou6hu8tu1#

我做了一个变通办法-我创建了一个名为SubAccount的新类,在其上扩展了Account,然后将List类型从Account更改为SubAccount。
效果很好。
但如果任何人有适当的解决方案-请张贴在这里。

kg7wmglp

kg7wmglp2#

我以前遇到过这个问题,我也没有找到任何解决方案,将“解决这个问题为我”。实际上,结果是,这是我的问题,有这样的循环依赖在我的API。如果你有必要使用相同的对象,那么我建议你覆盖Swagger配置与您自己的规则,you can spec there basically everything
然而,也要考虑到这种“无尽”数据结构的可能性可能很容易导致内存问题。Rye的“变通”解决方案实际上可能是指定该依赖关系树可能有多深的最佳解决方案。

相关问题