В этом примере, чтобы иметь возможность удалить данные о конкретном сотруднике, мы добавим еще один метод для ранее созданного шаблона URL Сотрудник нашего HTTP-сервиса.
Итак, добавим этому шаблону еще один подчиненный метод DELETE, в качестве HTTP-метода выберем значение DELETE. Далее создадим обработчик этого метода.
В модуле нашего HTTP-сервиса будет создан шаблон функции-обработчика СотрудникDELETE(). Заполним эту функцию следующим образом (листинг 1.66).
Листинг 1.66. Функция «СотрудникDELETE»
Функция СотрудникDELETE(Запрос)
// Сформировать ответ (без тела), возвращаемый HTTP-сервисом.
Ответ = Новый HTTPСервисОтвет(204);
// Получить из запроса параметр URL Код.
Код = Запрос.ПараметрыURL.Получить("Код");
Если Код = Неопределено Тогда
Ответ = Новый HTTPСервисОтвет(400);
Ответ.УстановитьТелоИзСтроки("Не задан параметр Код");
Ответ.Заголовки.Вставить("Content-type", "application/json");
Возврат Ответ;
КонецЕсли;
// Найти сотрудника в справочнике по полученному параметру Код.
СотрудникСсылка = Справочники.Сотрудники.НайтиПоКоду(Код);
Если СотрудникСсылка = Справочники.Сотрудники.ПустаяСсылка() Тогда
Ответ = Новый HTTPСервисОтвет(404);
Ответ.УстановитьТелоИзСтроки("Сотрудник не найден");
Ответ.Заголовки.Вставить("Content-type", "application/json");
Возврат Ответ;
КонецЕсли;
// Установить найденному сотруднику пометку удаления.
Сотрудник = СотрудникСсылка.ПолучитьОбъект();
Сотрудник.УстановитьПометкуУдаления(Истина);
Сотрудник.Записать();
Возврат Ответ;
КонецФункции
Поиск сотрудника по значению параметра URL запроса аналогичен поиску в обработчике СотрудникGET() из предыдущего примера (см. листинг 1.63). Затем от ссылки на найденного сотрудника мы получаем объект и устанавливаем ему пометку удаления.
И в заключение возвращаем ответ HTTP-сервиса с кодом состояния 204, который также свидетельствует об успешном выполнении операции на сервере, но сообщает клиенту, что сервер не посылал в ответ никаких данных в теле запроса.
Испытать наш запрос в браузере не получится, так как из браузера отправляются только запросы на чтение (методом GET) данных из информационной базы. Чтобы посмотреть результат работы HTTP-сервиса по удалению данных о конкретном сотруднике в прикладном решении, надо обратиться к нему с помощью собственного HTTP-запроса и выполнить на сервере метод DELETE. Этот пример будет рассмотрен в следующем разделе «».