Swagger生成-相同模式下的引用模式



所以我正在为我们的api生成一个yaml文件。问题是,在我的代码中,我有一个Account对象,它具有作为子帐户的属性和自身列表。

Yaml是这样的:

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

模式生成了,但是子帐户没有生成。如果我加上"描述"-它将被生成,但属性为空。有什么方法可以恰当地引用同一个对象吗?

我做了一个变通-我创建了一个名为SubAccount的新类,扩展了Account,然后将List类型从Account更改为SubAccount。

伟大工作。

但如果有人有适当的解决方案-请在这里发帖。tnx .

我以前遇到过一次这个问题,我也没有找到任何解决这个问题的方法。实际上结果是,在我的API中有这样的循环依赖是我的问题。如果你必须使用相同的对象,那么我建议你用你自己的规则重写Swagger配置,你可以在那里基本上指定所有东西。

然而,也要考虑到有这种"无穷无尽"的可能性。数据结构很容易导致内存问题。的"Workaround"实际上,Rye的解决方案可能是指定依赖树深度的最佳解决方案。

最新更新