2014-09-18 11 views
8

Ich möchte eine Definitionseigenschaft des Typs Modell in Swagger 2.0Swagger 2.0: Wie deklariert man eine Definitionseigenschaft des Typs Modell?

deklarieren Ist diese Definition korrekt? (speziell der Typ: StatusObject Teil)

definitions: 
    MyObject: 
    type: "object" 
    properties: 
     id: 
     type: "number" 
     country: 
     type: "string" 
     status: 
     type: StatusObject 
    StatusObject: 
    type: "object" 
    properties: 
     code: 
     type: "number" 
     shortMessage: 
     type: "string" 
     message: 
     type: "string" 

Vielen Dank!

Antwort

24

Die Bezugnahme auf andere Modelle/Definitionen erfolgt mit "$ ref".

Die obige Snippet sollte wie folgt aussehen:

definitions: 
    MyObject: 
    type: "object" 
    properties: 
     id: 
     type: "number" 
     country: 
     type: "string" 
     status: 
     $ref: StatusObject 
    StatusObject: 
    type: "object" 
    properties: 
     code: 
     type: "number" 
     shortMessage: 
     type: "string" 
     message: 
     type: "string" 

Ein weiterer Kommentar - Sie „Nummer“ als Typ für id und Code. "number" kann auch einen Dezimalpunkt haben, von dem ich nicht sicher bin, ob er es sein soll (besonders für id). Wenn Sie nur ganze Zahlen möchten, sollten Sie "integer" verwenden.

+0

Vielen Dank! Es funktioniert gut! – JAM

14

In Swagger 2.0:

definitions: 
    MyObject: 
    properties: 
    id: 
     type: "number" 
    country: 
     type: "string" 
    status: 
     $ref: "#/definitions/StatusObject" 
    StatusObject: 
    properties: 
    code: 
    type: "number" 
    shortMessage: 
    type: "string" 
    message: 
    type: "string"