Как переопределить значения образца MSON

Если я определяю тип ресурса с образцами значений, как я могу переопределить их для конкретных примеров?

Я пробовал это, но визуализированный вывод игнорирует тело и вместо этого использует глобальный образец.

### Read item [GET]
+ Response 200
    + Attributes (A, fixed-type)
    + Body

            { "name": "Hello", "bs": [{ "key": "value" }]}

# Data Structures
## A
+ name: foo(string, required)
+ bs (array[B], optional, fixed-type)
    + Sample
        + key: baz
        + key: bat
## B
+ key (string, optional)

Как ни странно, если вы удалите примеры значений из схемы, она правильно использует тело для запроса, но для ответа у него есть каждый строковый параметр как "Hello, world!", каждое число как 1 и т. д.


person OrangeDog    schedule 01.02.2017    source источник
comment
Связано: stackoverflow.com/q/41960087/476716   -  person OrangeDog    schedule 01.02.2017
comment
Похоже на эту проблему: github.com/danielgtaylor/aglio/issues/313   -  person OrangeDog    schedule 02.02.2017
comment
Насколько я знаю, нет возможности получить больше выборочных значений.   -  person    schedule 06.02.2017


Ответы (2)


если вы используете aglio и получаете

строковый параметр как "Hello, world!", каждое число как 1

чем использовать переменную среды DRAFTER_EXAMPLES: DRAFTER_EXAMPLES=true aglio -i apiary.apib

person Ilya Petukhov    schedule 13.07.2018

Я знаю, что это старая тема, но я только что наткнулся на эту проблему и хотел уточнить приведенный выше ответ. Чтобы это заработало, мне пришлось установить DRAFTER_EXAMPLES в среде, а затем выполнить команду alio; Например:

set DRAFTER_EXAMPLES=true

aglio -i apiary.apib -o output.html
person MurrayG    schedule 13.12.2018
comment
Вы должны прокомментировать ответ, если вам есть что добавить, а не просто опубликовать то же самое, но вместо этого с Windows CMD. - person OrangeDog; 15.12.2018
comment
Я буду иметь это в виду; хотя мой пост был не совсем о том же. Другой ответ указывает на использование параметра DRAFTER_EXAMPLES, а не переменной среды. Важной частью является не использование команды set, а то, что она разъясняет использование переменной среды, а не параметра. - person MurrayG; 17.12.2018
comment
Нет, другой ответ также использует переменную среды, они просто назвали ее параметром. - person OrangeDog; 17.12.2018
comment
Параметр и переменная окружения — две совершенно разные вещи. - person MurrayG; 18.12.2018
comment
Оба ответа устанавливают переменную среды - person OrangeDog; 18.12.2018
comment
Вы вообще смотрели редактуру? Командная строка не изменилась. Все, что я сделал, это изменил параметр неоднозначного описания на переменную среды, потому что вы, похоже, не понимаете, что такое переменная среды. - person OrangeDog; 19.12.2018
comment
Нет, не двусмысленно, это две разные вещи - вы, кажется, думаете, что параметр и переменная среды - это одно и то же. Если вы проверите другие потоки здесь и на github, вы увидите, что люди говорят, что исходный ответ не работает, и, вероятно, это потому, что они пытаются использовать его в качестве параметра. Я закончил с этой темой. - person MurrayG; 19.12.2018
comment
Я работаю с Linux более десяти лет. В исходном ответе не использовалась команда экспорта Linux — он не содержал информации, указывающей на то, что DRAFTER_EXAMPLES должен быть установлен в качестве переменной среды. Ваше утверждение относительно командной строки также неверно - аргумент - это значение (передаваемое) параметра во время выполнения. Подобные бессмысленные и недействительные споры серьезно отбивают у людей охоту вносить свой вклад здесь ... - person MurrayG; 19.12.2018
comment
Боюсь, вы ошибаетесь, несмотря на то, как долго вы используете Linux. Установка переменной среды и экспорт переменной среды — это разные вещи. Строка KEY=VALUE command arg запускает command с переменной среды KEY, установленной на VALUE, и аргументом arg. Ничто там не называется параметром. - person OrangeDog; 19.12.2018
comment
Вы имеете в виду переменную оболочки. Это, вероятно, тоже работает, но не универсально. - person MurrayG; 19.12.2018
comment
Нет, это установка переменной среды, а не переменной оболочки, и она работает в каждой оболочке *NIX, которую я использовал. - person OrangeDog; 19.12.2018