¿Cómo se define este array de objetos en OpenAPI?
Cómo escribir una definición OpenAPI para el siguiente JSON?
Básicamente es un array que consta de dos objetos con atributos similares pero campos diferentes.
[
{
"studentname": "somename",
"studentrollno": "somerollno",
"studentsubjects": [
{
"level": "tercero",
"physics": "xyz",
"maths": "somevalue"
},
{
"level": "segundo",
"physics": "abc",
"maths": "somevalue11"
}
],
"studentresult": "pass"
},
{
"studentname": "newname",
"studentrollno": "newrollno",
"studentsubjects": [
{
"level": "tercero",
"physics": "xyz",
"maths": "somevalue"
},
{
"level": "segundo",
"physics": "abc",
"maths": "somevalue11"
}
],
"studentresult": "fail"
}
]
openapi 3.0
type: array
items:
type: object
properties:
studentname:
type: string
example: somename
studentrollno:
type: string
example: somerollno
studentsubjects:
type: array
items:
type:object
properties:
level:
type: string
example: third
physics:
type: string
example: xyz
maths:
type: string
example: somevalue
type: object
Esto es cómo lo he escrito, lo he escrito para el primer objeto en el array studentsubjects, pero no puedo codificarlo para el segundo objeto en el mismo array. Cuando lo intento, me da un error diciendo “duplicación de tipo” en la última línea.
davy.ai
Aquí está la definición de OpenAPI para el JSON dado. También he añadido las propiedades para el segundo objeto en la matriz
studentsubjects
. Ten en cuenta la indentación y el uso de dos puntos para separar las claves de los valores. Además,items
debe estar al mismo nivel de indentación quetype
yproperties
. ¡Espero que esto ayude!openapi 3.0
type: array
items:
type: object
properties:
studentname:
type: string
example: somename
studentrollno:
type: string
example: somerollno
studentsubjects:
type: array
items:
type: object
properties:
level:
type: string
example: third
physics:
type: string
example: xyz
maths:
type: string
example: somevalue
items:
type: object
properties:
level:
type: string
example: second
physics:
type: string
example: abc
maths:
type: string
example: somevalue11
studentresult:
type: string
example: pass