2014-10-09 2 views
5

Sto attraversando un periodo difficile cercando di capire come posso nidificare i modelli in swagger 2.0.Proprietà riferimento a Model on swagger 2.0 (nidificazione)

Attualmente ho:

SomeModel: 
properties: 
    prop1: 
    type: string 
    prop2: 
    type: integer 
    prop3: 
    type: 
     $ref: OtherModel 

OtherModel: 
    properties: 
    otherProp: 
     type: string 

Ho provato molti altri modi:

prop3: 
    $ref: OtherModel 
# or 
prop3: 
    schema: 
    $ref: OtherModel 
# or 
prop3: 
    type: 
    schema: 
     $ref: OtherModel 

Nessuno dei precedenti sembra funzionare.

Tuttavia, con gli array funziona bene:

prop3: 
    type: array 
    items: 
    $ref: OtherModel 

risposta

16

Il modo corretto per modellare sarebbe:

SomeModel: 
properties: 
    prop1: 
    type: string 
    prop2: 
    type: integer 
    prop3: 
    $ref: OtherModel 

OtherModel: 
    properties: 
    otherProp: 
     type: string 
+0

Si può avere uno sguardo a http://stackoverflow.com/questions/35127186/swagger-2-x-reference-model-from-other-file C'è un problema utilizzando JSON invece di yaml? – Gobliins

1

credo esempio di Ron dovrebbe leggere:

definitions: 

    OtherModel: 
     properties: 
      otherProp: 
      type: string 

    SomeModel: 
     properties: 
      prop1: 
      type: string 
      prop2: 
      type: integer 
      prop3: 
      type: object 
      $ref: #/definitions/OtherModel 
4

I l'esempio di Herc dovrebbe essere

definizioni:

OtherModel: 
    properties: 
     otherProp: 
     type: string 

SomeModel: 
    properties: 
     prop1: 
     type: string 
     prop2: 
     type: integer 
     prop3: 
     type: object 
     $ref: '#/definitions/OtherModel' 
+0

Qualcosa deve essere cambiato nelle specifiche perché la risposta sta funzionando per me mentre la risposta accettata non funziona. Non avevo bisogno di 'type: object' per' prop3' – chrisan