当我尝试从模型继承包含数组时,使用swagger编辑器并获取验证错误。我假设我的定义搞砸了,因为我是一个狂热的新手。但我知道在编辑器中仍然有工作要做,以支持swagger 2.0。不想指出编辑器中的错误或缺陷,只是想知道我的架构是否有效。
这适用于编辑器(来自简单的petstore示例):
definitions:
pet:
properties:
name:
type: string
newPet:
allOf:
- $ref: '#/definitions/pet'
但是我想将pet定义为数组:
definitions:
pet:
type: array
items:
type: string
newPet:
allOf:
- $ref: '#/definitions/pet'
答案 0 :(得分:2)
从技术上讲,这不是继承,而是构成。 newPet
和pet
之间没有层次关系。对于继承,定义必须都是对象,并且必须有discriminator
定义。
就构图而言,这看起来像一个有效的定义。
答案 1 :(得分:0)
Here is an example: https://github.com/OAI/OpenAPI-Specification/blob/master/examples/v2.0/yaml/petstore-expanded.yaml
So it looks like this:
definitions:
Pet:
allOf:
- $ref: '#/definitions/NewPet'
required:
- id
properties:
id:
type: integer
format: int64
NewPet:
required:
- name
properties:
name:
type: string
tag:
type: string