2017-05-09 5 views
0

Der Versuch, bekommen diese Json outpun mit Prahlerei Definitionen erhalten:Wie verschachtelte Array in Prahlerei Definition

{ 
"attachments":[{ 
"attachment": 
    { 
    "filename": "string", 
    "filedata": "string", 
    "filetype": "string" 
    } 
}, 
{ 
"attachment": 
    { 
    "filename": "string", 
    "filedata": "string", 
    "filetype": "string" 
    } 
}] 
} 

Meine swagger.json wie folgt aussieht:

"attachments": { 
    "type":"array", 
    "items": { 
    "$ref": "#/definitions/attachment" 
    } 
},   

"attachment": { 
     "type": "object", 
     "properties": { 
     "filename": { 
      "type": "string" 
     }, 
     "filedata": { 
      "type": "string" 
     }, 
     "filetype": { 
      "type": "string" 
     } 
     } 
    }, 

Und ich bekomme diese Json auf die Anfrage:

"attachments": [ 
    { 
    "filename": "string", 
    "filedata": "string", 
    "filetype": "string" 
    } 
], 

Wie bekomme ich die erste Json-Syntax durch Swagger-Referenzen?

+0

You „verschachtelt sagen Array "aber Ihr erstes Beispiel ist ein Objekt/hashmap. Welches ist korrekt? – Helen

+0

Sorry, das Ziel ist es, ein Array zu bekommen, ich habe die Frage mit der richtigen Syntax bearbeitet. Vielen Dank. – Krleza

Antwort

1

Sie benötigen eine zusätzliche Definition für das Wrapper-Objekt, das die attachment Eigenschaft hat:

"attachmentWrapper": { 
    "type": "object", 
    "properties": { 
    "attachment": { 
     "$ref": "#/definitions/attachment" 
    } 
    } 
} 

dann Ihre Array-Definition ändern, um diesen Wrapper als Elementtyp zu verwenden:

"attachments": { 
    "type":"array", 
    "items": { 
    "$ref": "#/definitions/attachmentWrapper" 
    } 
} 
+0

funktioniert perfekt, danke! – Krleza

Verwandte Themen