2017-04-10 11 views
0

私のスワッガーファイルのリクエスト部分にサンプルを作成しようとしています。以下の(非常に単純化された)スニペットでは、患者と臨床医の関係を説明しています。これらのエンティティは同じIdentifierモデルを使用します。スワッガーで同じモデルの異なる例

しかし、共通のIdentifierモデルを使用しながら、patientIdentifierclinicianIdentifierで異なるサンプルデータを渡す方法を考えることができません。私が投稿したスニペットは構文的には正しいですが、例のデータでは両方の識別子が同じであることは明らかですが、これは理想とはかけ離れています。

私はちょうどIdentiferモデルからフィールドを抽出し、この場合、それほど苦労せずにpatientIdentifierclinicianIdentfierにコピーし、私はこれを達成するために、よりエレガントな方法があるかどうかを知りたいのですができます実現しています。

Relationship: 
    properties: 
    patientIdentifier: 
     $ref: '#/definitions/Identifier' 
    clinicianIdentifier: 
     $ref: '#/definitions/Identifier' 

Identifier: 
    type: object 
    properties: 
    id: 
     type: string 
     example: "Jane Doe" 
    group: 
     type: string 
     example: "WD7" 

誰かがマニュアルまたはこれを行う例の線に沿って何かを正しい方向に私を指すことができれば、それは本当にいただければ幸いです。

ありがとうございます!

+1

ない私はdownvoteに当たった理由を確認してください - それは場合に役立ちます何かを追加/削除/変更することが幸せ - 私は実際に私がここで間違ってやったのか分かりません。 – xyzen

答えて

2

Relationshipのスキーマレベルの例を指定する必要があります。スキーマレベルの例は、プロパティレベルの例よりも優先されます。 $refを使用する場合、$refの任意の兄弟が無視されるためpatientIdentifierclinicianIdentifierのプロパティ・レベルの例が動作しないこと

Relationship: 
    type: object 
    properties: 
    patientIdentifier: 
     $ref: '#/definitions/Identifier' 
    clinicianIdentifier: 
     $ref: '#/definitions/Identifier' 
    example: 
    patientIdentifier: 
     id: Jane Doe 
     group: WD7 
    clinicianIdentifier: 
     id: Bob Smith 
     group: ABCDE 

注。

# This won't work - examples will be ignored 

Relationship: 
    type: object 
    properties: 
    patientIdentifier: 

     $ref: '#/definitions/Identifier' 
     example: 
     id: Jane Doe 
     group: WD7 

    clinicianIdentifier: 

     $ref: '#/definitions/Identifier' 
     example: 
     id: Bob Smith 
     group: ABCDE 
+0

ああ!あなたがこれをすることができるとは気づかなかった。これは私が探していたもののラインに沿ったものでした。ありがとうございました :) – xyzen

関連する問題