I'm having a Schema Object definition like this in my swagger.yaml
:
User:
type: object
properties:
username:
type: string
description: the user name
colors:
type: array
items: {
type: string,
enum: [ "red", "blue", "green" ]
}
description: user must have one or more colors associated
required:
- username
- colors
However, the generated server still happily accepts POST requests using this schema object as required body parameter that do not contain any colors
field.
Can I configure Swagger in a way that the color
field is always required in a User
schema object and ideally also must contain at least one or more items from the enum?
Use minItems: 1
. Additionally you can enforce uniqueItems
within the array.
colors:
type: array
minItems: 1
uniqueItems: true
items:
type: string
enum: [ "red", "blue", "green" ]