2017-01-09 11 views
0

Swaggerでは、子オブジェクトのどのプロパティをrequiredと定義するときに親オブジェクトのプロパティを参照できますか?例えばSwaggerの子オブジェクトの「必須」セクションの親オブジェクトのプロパティを参照

、以下の基底クラス与えられた:ペットを更新するために(すべてのプロパティは、ペイロードに必要とされる)ペットを作成するための1と別:私は2つの子クラスを持っていると思い

definitions: 
    Pet: 
    type: object 
    properties: 
     name: 
     type: string 
     owner: 
     type: string 

を(どこも必要ない)。

CreatePetRequest: 
    allOf: 
     - $ref: '#/definitions/Pet' 
    required: 
     - name 
     - owner 

    UpdatePetRequest: 
    allOf: 
     - $ref: '#/definitions/Pet' 

ただし、これは機能しません。代わりに例外が発生します。

swagger_spec_validator.common.SwaggerValidationError: Required list has properties not defined: ['name', 'owner'] 

どうすればこの問題を解決できますか?スワッガーでも可能ですか?

+0

に固定します。[必要なプロパティを変更してモデルを再利用する](http://stackoverflow.com/questions/40839706/re-using-model-with-さまざまな必須プロパティー) – Helen

答えて

0

特定のバージョンのswagger-spec-validatorピップパッケージとまったく同じ問題があります。私のケースでは、問題が修正されたバージョン2.0.4でした。 pip install swagger-spec-validator==2.0.4を使用してインストールするか、バージョン番号のパッケージをrequirements.txt

+0

チップをありがとう。これを試したとき、私は本当に2.0.3にあった。私は後で2.1.0(最新)でそれを行けばうまくいけばもっと運があるでしょう。 – ventolin

関連する問題