OpenApi 3.0:如何根据用作该数组元素架构的对象中的键 (属性) 定义数组元素的唯一性?

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 的 'components' 部分中定义了以下模式:

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

此架构用于将另一个架构中的数组元素定义为:

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

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

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


这是 JSON 架构问题跟踪器之一中的相应功能请求:
https://github.com/json-schema-org/json-schema-vocabularies/issues/22

OpenAPI 架构基于 JSON 架构,因此任何新架构关键字都将来自 JSON 架构。