2015-01-26 14 views
8

Sto cercando di ottenere un letterale multilinea nell'editor Swagger (strumento fantastico, comunque!).Letterali multilinea nell'editor swagger?

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 

L'ho provato con | e>, con finali diversi (aumentando trattino vs. riga vuota), e tutti i modi che posso pensare, ma dà sempre lo stesso errore:

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:^

vedo bug per JS-YAML che indicano il problema è una newline in stile Windows alla fine, che so che i textareas HTML possono creare. Questa è la prima volta che uso molto lo YAML, quindi faccio solo qualcosa di sbagliato o un bug nell'editor di Swagger?

risposta

17

Credo che il problema sia il modo in cui è stato avviato il testo nel blocco di descrizione. Deve essere rientrato un livello alla destra della descrizione: Ecco un esempio di qualcosa che funziona per me:

/{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 

Nel mio codice vero e proprio, la descrizione è lungo tre linee.

+1

Bel spettacolo ... grazie! Questo dettaglio non è del tutto chiaro nelle specifiche YAML. – fool4jesus

1

Volevo aggiungere l'approccio JSON. Sto usando puro JSON nell'Editor Swagger per evitare problemi con la doppia sintassi (apprendimento, debugging, analisi per web documentation, ecc.).

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

Per qualche ragione doppio carattere di nuova riga \n sembrava essere richiesto, almeno per quanto riguarda la nuova linea per rendere l'Editor Swagger. Tuttavia, quando ho esportato l'API Uber ufficiale YAML demo come JSON (File -> Scarica come JSON), il JSON risultante aveva solo caratteri di nuova riga in cui sono stati dimostrati i letterali a più linee. Strano.