【发布时间】:2021-12-29 02:12:31
【问题描述】:
默认情况下,Swashbuckle 为 oneof 属性(universeCategory)生成一个内联模式,如下所示。
"Universe":{
"type":"object",
"properties":{
"universeCategory":{
"oneOf":[
{
"$ref":"#/components/schemas/FullUniverse"
},
{
"$ref":"#/components/schemas/HalfUniverse"
}
],
"discriminator":{
"propertyName":"source",
"mapping":{
"FullUniverse":"#/components/schemas/FullUniverse",
"HalfUniverse":"#/components/schemas/HalfUniverse"
}
}
}
}
}
是否可以通过将一些配置传递给 Swashbuckle 来生成如下所示的引用模式?
"Universe":{
"type":"object",
"properties":{
"universe":{
"$ref":"#/components/schemas/UniverseCategory"
}
},
"additionalProperties":false
},
"UniverseCategory":{
"oneOf":[
{
"$ref":"#/components/schemas/HalfUniverse"
},
{
"$ref":"#/components/schemas/FullUniverse"
}
],
"discriminator":{
"propertyName":"source",
"mapping":{
"HalfUniverse":"#/components/schemas/HalfUniverse",
"FullUniverse":"#/components/schemas/FullUniverse"
}
}
}
Open API generator 等工具目前仅支持上述格式。因此,任何为 oneof 属性生成引用模式的解决方法都值得赞赏。
【问题讨论】:
标签: swagger swashbuckle openapi-generator swashbuckle.aspnetcore swashbuckle.examples