【问题标题】:OpenApi 3.0: How to define uniqueness of array elements based upon a key (property) in object that is used as an element schema for that array?OpenApi 3.0:如何根据用作该数组元素模式的对象中的键(属性)来定义数组元素的唯一性?
【发布时间】:2021-08-13 13:47:47
【问题描述】:

我的 openApi 3.0 的“组件”部分定义了以下架构:

schema1:
   required:
      - prop1
      - prop2
   properties:
      prop1
      prop2:
        enum:
         - option1
         - option2
      prop3

此 Schema 用于将另一个模式中的数组元素定义为:

schema2:
   required:
      - prop4
      - items
      - prop6
   properties:
      prop4
      prop5:
       type: array
       items:
         $ref: '#/components/schemas/schema1'
       maxItems: 2
      prop6

现在在模式 2 的 prop5 中,我希望数组的元素具有 prop2 的唯一值。任何想法如何实现这一点。

【问题讨论】:

    标签: yaml openapi swagger-editor


    【解决方案1】:

    从 OpenAPI 3.1 和 JSON Schema 2020-12 开始,这是不可能的。目前此类验证需要在后端实现。


    以下是其中一个 JSON Schema 问题跟踪器中的相应功能请求:
    https://github.com/json-schema-org/json-schema-vocabularies/issues/22

    OpenAPI Schema 基于 JSON Schema,因此任何新的模式关键字都将来自 JSON Schema。

    【讨论】:

      猜你喜欢
      • 2013-02-23
      • 1970-01-01
      • 2021-12-31
      • 2012-10-08
      • 2013-05-17
      • 2011-10-08
      • 2016-07-25
      相关资源
      最近更新 更多