enum
и example
имеют разное значение и используются для разных целей.
enum
указывает возможные значения для экземпляра (другими словами, это пределы возможных значений). Это аналог перечислений в C#, Java и других языках программирования. Например, enum: [FOOD, WATER]
означает, что значение может быть либо "FOOD"
, либо "WATER"
, и ничего более.
example
указывает пример значения для документации или других целей ( но не для проверки). Например, если у вас есть схема User
со свойством username
, вы можете указать demoUser в качестве примера имени пользователя. Но значение example
не является возможным значением only для свойства, оно может иметь другие значения.
User:
type: object
property:
username:
type: string
example: demoUser
Схема может иметь как enum
, так и example
:
type: string
enum:
- FOOD
- WATER
example: WATER
В отличие от enum
, example
не влияет на проверку. Однако такие инструменты, как генераторы кода и генераторы документации, могут ожидать, что значения example
соответствуют их схемам. Такие инструменты пометят пример в вашем вопросе как недействительный, потому что схема определена как string
, но значением примера является массив (т. Е. Другой тип данных).
type: string
# Incorrect
example:
- FOOD
- WATER
# Correct
example: FOOD