http сервис 1с get

Запросы:

"http://localhost/REST/hs/employees"

"http://localhost/REST/hs/employees/да"

"http://localhost/REST/hs/employees/нет"


Функция СписокGET(Запрос)

 // Сформировать ответ, возвращаемый HTTP-сервисом.
 Ответ = Новый HTTPСервисОтвет(200);

 // Получить из запроса параметр URL *.
 Признак = Запрос.ПараметрыURL["*"];
 // Сформировать выборку сотрудников.
 Если Признак = "" Тогда
  // Без отбора.
  Выборка = Справочники.Сотрудники.Выбрать();
 Иначе
  // С отбором по признаку работы.
  Работает = ?(ВРег(Прав(Признак,2)) = "ДА", Истина, Ложь);
  Выборка = Справочники.Сотрудники.Выбрать(,, Новый Структура("Работает", Работает));
 КонецЕсли;

 // В цикле обхода выборки записать в JSON список сотрудников.
 // Создать объект записи и записать строковое значение в строку JSON.
 Запись = Новый ЗаписьJSON;
 Запись.УстановитьСтроку();

 // Записать начало корневого объекта.
 Запись.ЗаписатьНачалоОбъекта();
 Пока Выборка.Следующий() Цикл
  Запись.ЗаписатьИмяСвойства(Выборка.Наименование);
  Запись.ЗаписатьНачалоОбъекта();
  Запись.ЗаписатьИмяСвойства("Код");
  Запись.ЗаписатьЗначение(Выборка.Код);
  Запись.ЗаписатьИмяСвойства("Должность");
  Запись.ЗаписатьЗначение(Строка(Выборка.Должность));
  Запись.ЗаписатьКонецОбъекта();
 КонецЦикла;
 // Записать конец корневого объекта.
 Запись.ЗаписатьКонецОбъекта();
 // Записать результат записи в строку JSON.
 Результат = Запись.Закрыть();

 // Установить тело ответа из строки Результат.
 Ответ.УстановитьТелоИзСтроки(Результат);
 Ответ.Заголовки.Вставить("Content-type", "application/json");
 Возврат Ответ;

КонецФункции

При запросе: "http://localhost/REST/hs/employees" Ответ:

{
 ″Иванов Сергей Иванович″: {
 ″Код″: ″000000001″,
 ″Должность″: ″Администратор″
 },
 ″Петров Игорь Владимирович″: {
 ″Код″: ″E-0003″,
 ″Должность″: ″Должность - Директор″
 },
 ″Аксакова Светлана Ивановна″: {
 ″Код″: ″000000002″,
 ″Должность″: ″Кассир″
 }
 }

При запросе: "http://localhost/REST/hs/employees/ДА

{
 ″Иванов Сергей Иванович″: {
 ″Код″: ″000000001″,
 ″Должность″: ″Администратор″
 },
 ″Петров Игорь Владимирович″: {
 ″Код″: ″E-0003″,
 ″Должность″: ″Должность - Директор″
 } 
 }


При запросе: "http://localhost/REST/hs/employees/нет"

{
 ″Аксакова Светлана Ивановна″: {
 ″Код″: ″000000002″,
 ″Должность″: ″Кассир″
 }
 }

Подробнее