2016-04-27 26 views
6
type": "array", 
"items": { 
    "type": "string", 
    "enum": ["MALE","FEMALE","WORKER"] 
} 

oDefinizione enum per array in Swagger 2,0

type": "array", 
"items": { 
    "type": "string", 
}, 
"enum": ["MALE","FEMALE","WORKER"] 

?

Nulla nelle specifiche su questo. L'obiettivo è ovviamente quello di ottenere swagger-ui per mostrare i valori enum.

+0

Sia convalidare in http://bigstickcarpet.com/swagger-parser/www/index.html –

risposta

4

Il primo caso è corretto e in questi giorni swagger-ui genera una selezione a scelta multipla dei valori enum.

enter image description here

3

Dipenderà da ciò che si desidera enum:

Ciascun valore di enumerazione deve essere del tipo oggetto descritto

  • in primo caso una stringa
  • in secondo una matrice di stringa

prima sintassi significa Questi sono i valori possibili della stringa in questo array

Questo array può contenere più stringhe, ma ciascuna stringa deve avere un valore MASCHILE, FEMMINILE o LAVORATORE.

Rendering in Swagger UI: You have to put mouse pointer on the value to see enum

Secondo un mezzo Questi sono i possibili valori di questa matrice

AnotherArray: 
    type: array 
    items: 
    type: string 
    enum: 
    - 
     - FEMALE 
     - WORKER 
    - 
     - MALE 
     - WORKER 

Ogni valore di enumerazione è quindi un array. In questo esempio, questo array può avere solo il valore possibile ["FEMALE", "WORKER"] e ["MALE", "WORKER"].

Sfortunatamente anche se questa sintassi è valida, nessun valore enum viene mostrato nell'interfaccia utente di Swagger.

+0

Il primo è quello che voglio, ma purtroppo solo la seconda mostra i valori enum. (Questa è una definizione del parametro richiesta). E nel secondo caso ho una struttura piatta, non una matrice di array. –

+0

Il secondo esempio non è una matrice di array ma una serie di stringhe come il primo esempio. La differenza è su quale livello si mette l'enum (array vs item dell'array). Non sono sicuro di capire cosa stai cercando, potresti dare qualche esempio JSON di questo array? –