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
Antwort
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
Wenn Sie ein aussagekräftigeren Beispiel wollen, ein example
zu Ihrem Wörterbuch Schema hinzufügen:
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
@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
- 1. Swagger werfen "Keine gültige Parameterdefinition"
- 2. Swagger Error - Beschreibung: "Keine gültige Parameterdefinition"
- 3. Swagger wirft "Swagger Fehler Keine gültige Parameterdefinition" für Körperparameter
- 4. Swagger Editor Parameter Fehler
- 5. Swagger UI Editor zu generieren.yaml
- 6. Mehrzeilige Literale im Swagger-Editor?
- 7. Swagger Editor Integration zu Git oder GitHub
- 8. Wie verschiedene Elementtypen innerhalb Swagger 2.0 Editor
- 9. Swagger-Editor-Modell-Array mit unterschiedlichen Typen
- 10. Swagger Editor mehrere Parameter in Körper
- 11. So verwenden Sie Cookies im Swagger-Editor
- 12. Öffnen Sie swagger-editor-bundle.js mit Klammern
- 13. Mit Wörterbuch-Style-Daten-Typen in Swagger
- 14. Java formal Typ Parameterdefinition (Generics)
- 15. Ich bin ziemlich neu in Swagger Tool. Kann jemand Swagger Editor Werkzeug in Intellij Idee
- 16. Swagger UI - kann JSON-Editor für den Anfragetext nicht aktivieren
- 17. REST API - Swagger - Verstehe nicht, warum "kein gültiger Parameter Definition"
- 18. Verwenden Sie die Parameterdefinition eines anderen Cmdlet in Powershell?
- 19. Wie Swagger 2.0 Textbeschreibungen formatieren?
- 20. Swagger UI: grundlegende Authentifizierung für Swagger-Datei
- 21. Swagger Codegen Rückwärtskompatibilität
- 22. Wie Swagger Dokumentation zu teilen
- 23. Swagger Headerdefinitionen
- 24. Swagger UI zeigt keine Antworten Beispiele
- 25. Swagger XML-Attribut und Inhaltsdefinition
- 26. Definieren Sie ein Antwortobjekt mit einem Array in YAML mit Swagger Editor
- 27. Wie benutzerdefinierte Objekt als Parameter einer API in Swagger-Editor darstellen
- 28. Swagger Editor: ERROR Server nicht gefunden oder ein Fehler ist aufgetreten
- 29. Swagger Editor - Anfrage JSON Körper Felder als FormData, aber sende diese als JSON
- 30. Swagger-Editor sagt: ist nicht genau einer von <#/definitions/parameter>, <#/definitions/jsonReference>
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