2017-01-26 4 views
1

Ich habe Probleme mit der Definition eines Dictionary-Typs im Swagger-Editor. Einer der Parameter meiner POST-Methode heißt "Rollen" und sein Wert ist ein Wörterbuch, in dem der Schlüssel die E-Mail-Adresse ist und der Wert eine Ganzzahl ist.Swagger Editor Wörterbuch Parameterdefinition

+0

In Verbindung stehende: [Warum 'additionalProperties' ist die Art und Weise zu repräsentieren Dictionary/Map in Swagger/OpenAPI 2.0] (http://stackoverflow.com/questions/41239913), [Swagger komplexe Antwort Modell mit dynamischen Schlüsselwert Hash maps] (https://stackoverflow.com/questions/41097913) – Helen

Antwort

0

Swagger unterstützt assoziative Arrays/Hashmaps/Wörterbücher, in denen Schlüssel Strings sind. Ein Wörterbuch wird unter Verwendung eines object Schemas mit dem Schlüsselwort additionalProperties definiert, das den Werttyp der Schlüssel/Wert-Paare angibt. Der Schlüsseltyp wird nicht erwähnt, da Schlüssel immer Zeichenfolgen sind.

definitions: 
    MyDictionary: 
    type: object 
    additionalProperties: 
     type: integer 


standardmäßig Swagger UI 3.x und Swagger Editor 3.x Wörterbücher machen als enthält Eigenschaften genannt additionalProp*:

So ein String-to-Integer-Wörterbuch kann definiert werden

enter image description here

Wenn Sie ein aussagekräftigeren Beispiel wollen, ein example zu Ihrem Wörterbuch Schema hinzufügen:

+2

Das zeigt sich jedoch nicht wirklich als etwas in der Benutzeroberfläche. Ich habe der Definition eine Beschreibungseigenschaft hinzugefügt, aber Swagger UI zeigt sie nicht an. Es zeigt auch nicht an, dass es sich um einen String-Schlüssel und einen Integer-Wert handelt. Es sagt nur "MyDictionary" zum Beispiel als Typ. Das dritte Problem ist, dass, obwohl der Parameter 'roles' im Schema der POST-Methode wie erforderlich aufgeführt ist, er kein rotes * mehr enthält, wenn ich ihn auf diesen Typ umschalte. – Gargoyle

+0

@Gargoyle: Wörterbücher werden jetzt in Swagger UI/Editor 3.x gerendert. Ich habe die Antwort aktualisiert. Nicht sicher, was du meinst "es hört auf, ein rotes * zu haben, wenn ich es umstelle, um auf diesen Typ zu verweisen" obwohl. – Helen

Verwandte Themen