这个主题有一些问题,但我没有找到正确的方法来解决。
我的目标是在一个地方定义所有参数,并且可以重复使用,无需再次编写。我已经通过使用 "allOf" 实现了这一点,但它限制了对 "additionalProperties" 的使用。
我的模式具有以下结构:
SchemaBase:
type: object
properties:
foo:
type: string
SchemaFull:
allOf:
- $ref: '#/components/schemas/SchemaBase'
- type: object
properties:
bar:
type: string
我尝试使用使用定义,但似乎在OpenApi 3版本中不再适用。
这里有一个解决方案,但这不是我要找的,因为那只针对属性,而不是整个模式。
additionalProperties: false
,这是一个有效的 OAS 模式。 - Manuel SpigolonadditionalProperties: false
是有效的,但是与allOf
一起时不起作用,因为只验证一个架构或另一个。 - Gabriel Rodríguez FloresadditionalProperties
在同级别上工作,而不是在allOf
内部。 - Gabriel Rodríguez Flores