Перейти к основному содержимому

Описание объектов

Методы HTTP-сервисов принимают и/или возвращают объекты или массивы объектов. Каждый объект содержит в себе поля. Описания объектов предназначены для того чтобы зафиксировать в документации состав, типы, описания и другие параметры этих полей.

В общем случае объект в функциональном стиле можно описать так:

Объекты = Swag_Описание
.Объект("ОбъектПартнер")
.Свойство("Идентификатор")
.Описание("Идентификатор партнера из 1С")
.ТипЗначения("string")
.Пример("a188a1a4-32fd-4d9e-a54c-89939b7bfdf6")
.Свойство("Наименование")
.ТипЗначения("string")
.Пример("ООО ""СтройТехМонтаж""")
.Свойство("ЭтоПокупатель")
.ТипЗначения("boolean")
.Пример(Истина)
.Свойство("ОсновнойДоговор")
.ТипЗначения("object")
.Схема("ОбъектДоговор")
.Свойство("Адреса")
.ТипЗначения("array")
.Схема("ОбъектАдрес")
//
.Объект("ОбъектДоговор")
.Свойство("Идентификатор")
.Описание("Идентификатор договора из 1С")
.ТипЗначения("string")
.Пример("8f80d9d3-730a-4b8f-82a5-4ff52960691e")
.Свойство("Номер")
.Описание("Номер договора")
.ТипЗначения("string")
.Пример("00УТ-007645")
//
.Объект("ОбъектАдрес")
.Свойство("Адрес")
.Описание("Адрес строкой")
.ТипЗначения("string")
.Пример("Москва, Ленинский проспект, дом 4, строение 1А, квартира 10")
.Сформировать()
;

результат подобного описания будет такой:

{
"Идентификатор": "a188a1a4-32fd-4d9e-a54c-89939b7bfdf6",
"Наименование": "ООО \"СтройТехМонтаж\"",
"ЭтоПокупатель": true,
"ОсновнойДоговор": {
"Идентификатор": "8f80d9d3-730a-4b8f-82a5-4ff52960691e",
"Номер": "00УТ-007645"
},
"Адреса": [
{
"Адрес": "Москва, Ленинский проспект, дом 4, строение 1А, квартира 10"
}
]
}

В данном примере было создано три объекта: ОбъектПартнер, ОбъектДоговор и ОбъектАдрес. Последние два были использованы при описании объекта ОбъектПартнер.