API план MSON для определения допустимых значений атрибутов?

Посмотрите на этот отрывок из https://github.com/apiaryio/mson...

Пример 1

Просто object структура и связанное с ней выражение JSON.

MSON

- 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
Другие вопросы по тегам