2015-01-26 18 views
8

Ich versuche, ein mehrzeiliges Literal im Swagger-Editor zu bekommen (super Werkzeug, übrigens!).Mehrzeilige Literale im Swagger-Editor?

post: 
    summary: Translate one or more identifiers 
    description: | 
Translate one or more identifiers for one entity into the 
identifiers of another entity. Translate one or more 
identifiers for one entity into the identifiers of another entity. 

    consumes: 
    - application/json 

Ich habe es mit | versucht und>, mit verschiedenen Endungen (zunehmender Einzug gegen leere Zeile), und jede Weise, die ich mich vorstellen kann, aber es gibt immer die gleichen Fehler:

YAML Syntax Error 
Can not read a block mapping entry; a multiline key may not be an implicit 
key at line 24, column 15: consumes:^

Ich sehe Bugs für JS-YAML, dass das Problem anzuzeigen, ein Windows-Style-Newline am Ende, die HTML-Textareas kann ich erstellen. Dies ist das erste Mal, dass ich wirklich viel YAML benutze, also mache ich nur etwas falsches oder einen Fehler im Swagger-Editor?

Antwort

17

Ich glaube, das Problem ist die Art, wie Sie den Text auf Ihrem Beschreibungsblock gestartet haben. Es muss eine Ebene rechts von Beschreibung eingerückt werden: Hier ist ein Beispiel für etwas, das funktioniert für mich:

/{user-id}: 
get: 
    summary: Facebook User 
    description: | 
    Displays all information about a Facebook user, depending on access privileges. Displays all information about a Facebook user, depending on access privileges. 
    parameters: 
    - name: user-id 
     in: path 
     description: The Facebook user ID 
     required: true 
     type: string 

In meinem eigentlichen Code, ist die Beschreibung drei Zeilen lang.

+1

Gute Show ... danke! Dieses Detail ist in der YAML-Spezifikation überhaupt nicht klar. – fool4jesus

1

Wollte den JSON-Ansatz hinzufügen. Ich verwende reines JSON im Swagger-Editor, um Probleme mit der Doppelsyntax zu vermeiden (Lernen, Debuggen, Parsen für web documentation usw.).

"get": { 
    "description": "Hi\n\nThere", 

Aus irgendeinem Grund \n Doppelzeilenende-Marke schien erforderlich, zumindest für die neue Linie auf dem Swagger Editor zu machen zu sein. Wenn ich jedoch die offizielle Uber-API YAML demo als JSON (Datei -> Download als JSON) exportiert habe, hatte der resultierende JSON nur einzelne Zeilenumbruchzeichen, wo Mehrzeilenliterale demonstriert wurden. Seltsam.