API план MSON для определения допустимых значений атрибутов?
Посмотрите на этот отрывок из https://github.com/apiaryio/mson...
Пример 1
Просто object
структура и связанное с ней выражение JSON.
- id: 1
- name: A green door
- price: 12.50
- tags: home, green
Допустим, я хотел бы определить допустимые значения для name
приписывать. Рассмотрим контекст тестирования API с помощью такого инструмента, как Dredd. Нам может понадобиться определить, какие ожидаемые / действительные name
значения в ответ на ПОЛУЧЕНИЕ этого ресурса, или, возможно, что-то сломано, и этот шаг теста должен завершиться неудачей.
И / или если при создании / обновлении ресурса этого типа нам может понадобиться определить, что name
значения действительны / приняты. Это в настоящее время можно определить в MSON?
(Я считаю, что это можно сделать в схеме JSON, что вселяет надежду на поддержку MSON.)
Ниже приведен пример ресурса API Blueprint, чтобы проиллюстрировать, как это будет использоваться...
# Thing ID [/api/thing/id]
# List Thing ID attributes [GET]
+ Response 200
+ Attributes
+ href (string)
+ make (string)
+ model (string)
+ version (string)
+ Body
{"href":"/api/thing/id","make":"BrandX","model":"SuperThingy","version":"10.1"}
В приведенном выше примере есть 3 известных / принятых / действительных значения для model
атрибут: CoolThingy
, AwesomeThingy
, а также MLGThingy
Можем ли мы представить этот ресурс в MSON, такой, что...
- Пользователи документации API для пасеки (или другой обработанной) могут легко узнать, что
model
ценности ожидать? - Dredd обрабатывает и проходит / терпит неудачу
model
значение в ответе GET на этот ресурс?
1 ответ
В MSON вы можете использовать enum, см. Пример ниже.
name
(Перечисление [строка])joe
(дефолт)ben
mark