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 架构。
我在 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 架构。