2015-07-06 11 views
6

posso fare questo:Come fare riferimento a un oggetto risposta con swagger?

parameters: 
    avatarSizeParam: 
    name: size 
    in: query 
    description: Size of avatar. 
    enum: [32, 64] 
    required: false 
    type: integer 
    format: int32 

paths: 
    /my/path/avatar: 
    get: 
     parameters: 
     - $ref: '#/parameters/avatarSizeParam' 

Good. Swagger definisce una chiave parameters in cui è possibile definire Parameter Objects per essere riutilizzato. Esso definisce anche una chiave responses, dove è possibile definire come Response Objects così:

responses: 
    notFoundResponse: 
    description: Entity not found. 
    schema: 
     $ref: '#/definitions/schema404' 

così ho assunto ho potuto espandere il mio precedente definizione di percorso al seguente

paths: 
    /my/path/avatar: 
    get: 
     parameters: 
     - $ref: '#/parameters/avatarSizeParam' 
     responses: 
     - $ref: '#/responses/notFound' 

Questo non sembra funzionare però. Sono tornato a the spec per un Operations Object e ho notato che parameters può essere un oggetto di riferimento, ma non lo è responses.

Operation Object definiton (partial)

Qual è il punto di permettere un Responses definizioni di oggetti (responses in-più alto livello) se non è possibile fare riferimento gli elementi ci sono? c'è un modo per farlo?

risposta

16

Se vedete here, è necessario definire HTTP Status Code come chiave, quindi la sintassi corretta è:

paths: 
    /my/path/avatar: 
    get: 
     parameters: 
     - $ref: '#/parameters/avatarSizeParam' 
     responses: 
     404: 
      $ref: '#/responses/notFound' 
+0

Grazie! Sì, questo ha molto senso. "Risposte" dimenticate era un oggetto e non un array hahah –

Problemi correlati