yaml swagger swagger-2.0

yaml - Devuelve una matriz de objetos en Swaggerhub



swagger-2.0 (1)

Estoy definiendo una especificación API en swaggerhub. La solicitud / contactos devuelve una matriz de contactos. La definición está abajo:

/contacts: get: tags: - contacts summary: Get all the contacts description: This displays all the contacts present for the user. operationId: getContact produces: - application/json - application/xml responses: 200: description: successful operation schema: $ref: ''#/definitions/AllContacts'' 400: description: Invalid id supplied 404: description: Contact not found 500: description: Server error definitions: AllContacts: type: array items: - $ref: ''#/definitions/ContactModel1'' - $ref: ''#/definitions/ContactModel2'' ContactModel1: type: object properties: id: type: integer example: 1 firstName: type: string example: ''someValue'' lastName: type: string example: ''someValue'' ContactModel2: type: object properties: id: type: integer example: 2 firstName: type: string example: ''someValue1'' lastName: type: string example: ''someValue1''

Por alguna razón, solo devuelve el segundo objeto, no toda la matriz de objetos. Estoy usando OpenAPI spec 2.0 y sospecho que las matrices no son compatibles con esta versión


Una matriz de objetos se define de la siguiente manera. El valor de los items debe ser un modelo único que describa los elementos de la matriz.

definitions: AllContacts: type: array items: $ref: ''#/definitions/ContactModel'' ContactModel: type: object properties: id: type: integer example: 1 firstName: type: string example: Sherlock lastName: type: string example: Holmes

De forma predeterminada, la interfaz de usuario de Swagger muestra los ejemplos de matriz con solo un elemento, de esta manera:

[ { "id": 1, "firstName": "Sherlock", "lastName": "Holmes" } ]

Si desea que el ejemplo de matriz incluya varios elementos, especifique el example varios elementos en el modelo de matriz:

definitions: AllContacts: type: array items: $ref: ''#/definitions/ContactModel1'' example: - id: 1 firstName: Sherlock lastName: Holmes - id: 2 firstName: John lastName: Watson