swagger

¿Cómo especificar si un campo es opcional o requerido en swagger?



(2)

¿Cómo defino en swagger si un campo es opcional o obligatorio y cuál es el valor predeterminado?


Los campos son opcionales a menos que estén marcados como necesarios.

Enumera los campos obligatorios como este:

SomeObject: type: object required: - name - fartingPower properties: name: type: string fartingPower: type: integer


Por defecto, los campos en un modelo son opcionales a menos que los coloque en la lista required . A continuación se muestra un ejemplo: id , category son campos opcionales, se requiere name . Tenga en cuenta que required no es un atributo de los campos, sino un atributo del objeto en sí mismo: es una lista de propiedades requeridas.

type: object required: # List the required properties here - name properties: id: type: integer format: int64 category: $ref: ''#/definitions/Category'' name: type: string example: doggie

Ref: https://github.com/swagger-api/swagger-codegen/blob/master/modules/swagger-codegen/src/test/resources/2_0/petstore.yaml#L658

Si este es el modelo para el cuerpo de la solicitud, probablemente también deba marcar el cuerpo como sea required :

# swagger: ''2.0'' parameters: - in: body name: body required: true # <---- schema: $ref: ''#/definitions/Pet'' # openapi: 3.0.1 requestBody: required: true # <---- content: ...

Para especificar el valor predeterminado de los campos opcionales, puede usar el atributo default . Aquí hay un ejemplo:

type: object properties: huntingSkill: type: string description: The measured skill for hunting default: lazy