Как сделать перечисления в API Blueprint сухими

Я документирую API, используя API Blueprint, и у меня есть несколько конечных точек, которые используют один и тот же тип enum с одинаковыми значениями. Вместо того, чтобы повторять все значения в каждой точке, где используется это перечисление, я хотел бы поместить его в раздел "Структуры данных" и просто иметь ссылку на него, что делает его СУХИМЫМ. Однако я не могу понять из документации, как поместить перечисление в раздел Структуры данных. Я могу делать объекты просто отлично, но, кажется, он игнорирует указанные элементы, когда я объявляю enum в разделе Data Structures.

Вот (очень надуманный) пример того, что у меня сейчас (это не СУХОЙ):

### Some Request [GET]
+ Parameters
    + name: `sample` (string) - the name
    + type: `A` (enum[string]) - the type
        + Members
            + A
            + B
            + C

### Another Request [GET]
+ Parameters
    + address: `123 St.` (string) - the address
    + type: `B` (enum[string]) - the same type as above
        + Members
            + A
            + B
            + C

И вот что я хотел бы сделать:

### Some Request [GET]
+ Parameters
    + name: `sample` (string) - the name
    + type: `A` (The Type) - the type

### Another Request [GET]
+ Parameters
    + address: `123 St.` (string) - the address
    + type: `A` (The Type) - the type

# Data Structures
## The Type (enum[string])
    + Members
        + A
        + B
        + C

Я попробовал несколько вариантов этого синтаксиса, но все безуспешно. Конечно, вполне возможно, что я просто лаю не то дерево, и есть совершенно другой способ получить повторяющиеся перечисления, чтобы они были СУХИМЫМИ.

1 ответ

Решение

Проблема в том, что вы пытаетесь использовать синтаксис MSON для параметров URI, но это еще не полностью поддерживается. По историческим причинам текущий синтаксис Paramters раздел выравнивается только по синтаксису Attributes раздел, но нет полной четности функции. Смотрите этот RFC.

Поэтому я боюсь, что вы не сможете использовать наследование MSON и типы в Parameters раздел на данный момент. Можно использовать только простые структуры и типы.

Другие вопросы по тегам