es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿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.

Tags:  ,

Answer

  1. Avatar for 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 que type y properties. ¡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

Comments are closed.