0

配列を含むモデルから継承しようとすると、swagger エディターを使用して検証エラーが発生します。私は闊歩するのが初めてなので、私の定義が台無しになっていると思います。しかし、エディターで swagger 2.0 をサポートするために、まだやるべきことがあることはわかっています。エディターのバグや欠陥を指摘するのではなく、自分のスキーマが有効かどうかを知りたいだけです。

これはエディターで機能します (単純なペットストアの例から):

definitions:
  pet:
    properties:
      name:
        type: string
  newPet:
    allOf:
      - $ref: '#/definitions/pet'

ただし、ペットを配列として定義したい:

definitions:
  pet:
    type: array
    items:
      type: string
  newPet:
    allOf:
      - $ref: '#/definitions/pet'
4

2 に答える 2

2

技術的に言えば、それは継承ではなく、合成です。newPetと の間に階層関係はありませんpet。継承の場合、定義は両方ともオブジェクトである必要があり、discriminator定義が存在する必要があります。

構成に関する限り、それは有効な定義のように見えます。

于 2015-01-06T20:39:43.167 に答える
0

以下に例を示します: https://github.com/OAI/OpenAPI-Specification/blob/master/examples/v2.0/yaml/petstore-expanded.yaml

したがって、次のようになります。

definitions:
  Pet:
    allOf:
      - $ref: '#/definitions/NewPet'
    required:
      - id
    properties:
      id:
        type: integer
        format: int64

  NewPet:
    required:
      - name  
    properties:
      name:
        type: string
      tag:
        type: string
于 2016-10-20T19:27:08.597 に答える