Ich benutze Swagger, um Klassen in Java und Type-Skript zu generieren. Ich habe Probleme beim Definieren der map-Eigenschaft mit einer Liste von Objekten als Wert. Ich habe versucht, zu definieren, wie folgt:Wie definiert man HashMap <String, Liste <Object>> Eigenschaft in Swagger Yml?
DataMap
type: object
additionalProperties:
#type: array -- This config does not work.
$ref: '#/definitions/Data'
Oberhalb yml Definition folgenden Code in Java generiert:
class DataMap extends HashMap<String, Data> {
}
Wie kann ich yml konfigurieren Schlüssel mit Liste von Daten zu generieren? so etwas wie folgende Klasse:
class DataMap extends HashMap<String, List<Data>> {
}
oder
class DataInfo {
Map<String, List<Data>> dataMap;
}
Ist dies möglich mit Prahlerei 2.0? Ich denke darüber nach, eine andere DataList-Klasse zu definieren, die ArrayList erweitert und diese Klasse dann als Wert für Map verwendet.
-------------- UPDATE & ANTWORT -----------
Dank @nickb
Ich bin mit swagger- codegen-maven-Plugin-Version 2.2.1 und yml Definition Karte zu erzeugen, wie folgt:
DataInfo
type: object
properties:
dataMap:
type: object
additionalProperties:
type: array
items:
$ref: '#/definitions/Data'
Awesome, ich werde meine Swagger-Bibliothek überprüfen. Danke @nickb – nayakam
Die neueste stabile Version von Swagger Codegen ist 2.2.2: https://github.com/swagger-api/swagger-codegen/releases. Bitte beachten Sie, dass Sie auf die neueste stabile Version aktualisieren müssen, um Fehlerbehebungen und Verbesserungen zu erhalten. –
@nickb Vielen Dank, nachdem Sie die Definition geändert haben, wie Sie vorgeschlagen haben, funktioniert es. – nayakam