【问题标题】:Can i define nested array objects in swagger 2.0我可以在 swagger 2.0 中定义嵌套数组对象吗
【发布时间】:2015-11-22 06:51:02
【问题描述】:

我们将 Swagger 2.0 用于我们的文档。我们正在以编程方式直接从我们的数据设计文档中创建 swagger 2.0 规范。

我们的模型非常复杂且嵌套。我想了解我们能否定义内联定义的嵌套数组对象。

例如:

{
    "definitions": {
        "user": {
            "type": "object",
            "required": ["name"],
            "properties": {
                "name": {
                    "type": "string"
                },
                "address": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "enum": ["home",
                                "office"]
                            },
                            "line1": {
                                "type": "string"
                            }
                        },
                        "Person": {
                            "type": "object",
                            "properties": {
                                "name": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            }
        }
    }
} 

我们有很多在模型中遇到这种情况的情况,此时定义#ref 不是我们想要考虑的选项。我们需要这个来内联处理。

根据以下帖子:https://github.com/swagger-api/swagger-editor/issues/603#evenenter code heret-391465196 似乎不支持处理内联定义的嵌套数组对象。

由于许多大企业的数据模型非常复杂,我们希望在 swagger 2.0 规范中支持此功能。

有没有想过要添加这个功能。

【问题讨论】:

  • 看起来这个问题属于swagger主页/论坛/bugtracker。
  • 许多框架会自动为您创建$ref 模式。您能否从建模的角度分享更多为什么这是不可能的?
  • @fehguy 能否请您指出一些将创建 $ref 模式的框架。
  • 好吧,支持大摇大摆的swagger-jaxrs 会做到这一点。如果您有一个复杂类型的属性,$ref 将自动创建。
  • 查看这个网址,它没有标记为已解决,但我认为没问题:link

标签: swagger swagger-ui swagger-2.0 swagger-editor


【解决方案1】:

您的文档无效,这与嵌套数组无关:items 内的 Swagger 2.0 架构中不允许使用属性 Person

schema 中唯一允许的属性是:$refformattitledescriptiondefaultmultipleOfmaximumexclusiveMaximum、@98765433 exclusiveMinimummaxLengthminLengthpatternmaxItemsminItemsuniqueItemsmaxPropertiesminPropertiesrequiredenumadditionalPropertiestypeitemsallOfpropertiesdiscriminatorreadOnlyxmlexternalDocsexample

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-26
    • 2016-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多