swagger-editor中的继承抛出错误

时间:2015-01-03 21:19:09

标签: swagger swagger-editor

当我尝试从模型继承包含数组时,使用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'

2 个答案:

答案 0 :(得分:2)

从技术上讲,这不是继承,而是构成。 newPetpet之间没有层次关系。对于继承,定义必须都是对象,并且必须有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