HTTP-сервисы
С помощью HTTP-сервиса Пресейл::СделкиHttpСервис можно получить данные сделок по HTTP подробнее(). Для этого определено два шаблона URL и обработчики GET-запросов, соответствующих этим шаблонам.
Совет: Чтобы открыть этот файл нажмите Открыть в текстовом редакторе в контекстном меню
HTTP-сервиса Пресейл::СделкиHttpСервис.
С помощью запроса по первому адресу можно получить данные всех сделок с отбором по стадии сделки. Значение отбора по стадии передается в параметрах URL. Тело ответа записывается в поток записи по мере получения объектов из базы данных.
// Метод будет вызван для GET-запроса вида
// {Адрес приложения}/api/opportunities?Стадия={Стадия1}&Стадия={Стадия2}
метод ПолучитьСделки(Запрос: HttpСервисЗапрос)
знч Стадии = Запрос.Параметры.ПолучитьВсе("Стадия")
Запрос.Ответ.Заголовки.Установить("Content-Type", "application/json")
исп ПотокЗаписиТела = Запрос.Ответ.ОткрытьПотокЗаписиТела()
ЗаписатьДанныеСделокВПоток(ПотокЗаписиТела, Стадии)
;
С помощью запроса по второму адресу можно получить данные конкретной сделки. Код сделки передается как часть пути к ресурсу. Тело ответа устанавливается из строки.
Для сериализации данных сделок используется тип СериализацияJson.
// Метод будет вызван для GET-запроса вида {Адрес приложения}/api/opportunities/{КодСделки}
метод ПолучитьСделку(Запрос: HttpСервисЗапрос)
знч КодСделки = Запрос.Параметры.ПолучитьПервый("opportunity")
если КодСделки != Неопределено
знч ДанныеСделки = ПолучитьДанныеСделки(КодСделки)
если ДанныеСделки != Неопределено
знч ТелоОтвета = СериализацияJson.ЗаписатьОбъект(ДанныеСделки)
Запрос.Ответ.Заголовки.Установить("Content-Type", "application/json")
Запрос.Ответ.УстановитьТело(ТелоОтвета)
возврат
;
;
Запрос.Ответ.УстановитьКодСтатуса(404)
Запрос.Ответ.УстановитьТело("Сделка не найдена")
;
Совет: Чтобы открыть этот файл нажмите на модуль Пресейл::СделкиHttpСервис.