当前位置: 首页 > 知识库问答 >
问题:

swagger中包含不同对象类型数组的模型响应

姬奇思
2023-03-14

我想在swagger中建模一个包含一组不同类型对象的响应对象,如下所示:

{
   "table": [
        {
          "user" : []
        },
        {
          "customer": []
        },
        {
           "employee": []
        }
    ]
}

我尝试了下面的解决方案,但它将所有属性包装在一个对象中 { [ { "用户": [], "客户": [] } ] }.

  responses:
    200:
      schema:
        type: array
        items:
          type: object
          properties:
            user:
              type: array
              items:
                $ref: '#/definitions/User'
            customer:
              type: array
              items:
                $ref: '#/definitions/Customer'
            employee:
              type: array
              items:
                $ref: '#/definitions/Employee' 

共有1个答案

翟黎明
2023-03-14

这将在OpenAPI spec (3.0)的下一个版本中得到支持,下面是关于该特性的相关讨论:

https://github.com/OAI/OpenAPI-Specification/issues/57

这是一个示例(在上面的URL中提供):

{
  "oneOf": [
    { "$ref": "Cat" },
    { "$ref": "Dog" }
  ]
}
 类似资料:
  • 我试图为一个包含不同类型对象数组的对象定义一个swagger模式定义。 下面是模板对象(以及所有相关对象类型)的 json 架构。我知道 swagger 不支持 oneOf 谓词,所以我只是想弄清楚如何在 swagger 中描述这个数据结构。我已经尝试了这种语法的许多变体,但没有一个有效,这是我根据规范和这里找到的一些例子所能达到的最接近的:http://json-schema.org/examp

  • 我有以下问题。 我必须将json请求解析为包含泛型类型字段的对象。 编辑 我使用常规类类型进行了一些测试(因此我在将其替换为泛型之前使其工作)。现在解析单个元素效果很好。 问题是何时需要从该类中解析出列表对象。 所以我不得不告诉jackson,我的T是list类型,而不仅仅是AlbumModel。 这是我尝试过的。 但是上面的代码不起作用。这种情况的解决方案是什么? 我的泛型类型在List响应模型

  • 我已经编写了在android studio上显示可扩展列表视图的代码。以下是ExplandableListView的代码: 这是执行操作的方法: 它在函数定义中的“groupPosition”处显示警告: 当鼠标悬停在上面时,会显示

  • 问题内容: 我是android和java的初学者。我不明白什么时候对象传递。对象传递当然需要实现Serializable。 0.什么时候使用Serializable?它是什么? 1.什么是对象和捆绑类 2.使用Object和Bundle传递对象时 3.是否支持Object和Bundle对象都是数据类型的对象? 请帮助我。谢谢 问题答案: 您的要求确实很模糊,但是可序列化的对象可以转换为可以反序列化

  • 我正在Swagger 2.0的帮助下编写一个API文档。我已经生成了一个API,其中响应在一系列书籍中,运行良好。 大摇大摆 好吧,我只想在中的一个API中发送一本书的详细信息,当我尝试对象不起作用时,我应该采取什么模式类型。 大摇大摆 由于对象不工作,swagger不显示格式。 当前状态: 预期状态:

  • 我有一个场景,其中 json 请求由不同的自定义对象组成,例如: java类看起来像 验证条件:字段不能为空 现在来到Spring控制器,我想验证来自请求的每个对象,并且我能够验证整个客户对象,因为BindingResault应用于整个请求主体。但是我的要求是分别验证个人对象和电影列表对象。 而且我的要求是抛出特定对象的异常,这会导致异常发生,因为我的框架是这样设计的。