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