Полный обработчик назначается реальному свойству метаданных своего сервиса. Контракт и результат не подменяются фиктивным запуском.
Где и как запускать
Модуль собственного HTTP-сервиса / Web-сервиса / сервиса интеграции в точности по подготовке.
Подготовка
Используйте только собственную учебную конфигурацию. Создайте справочник УчебныеКарточкиКниг, код Строка 10, наименование 100; вручную добавьте Книга и Тетрадь. Рабочие справочники не читаются.
Основной код — модуль указанного собственного сервиса, не модуль формы. Сервер / толстый клиент; клиентских директив нет. Код при сборке справочника не исполняется, сервис не публикуется и запросы не отправляются.
Общие → HTTP-сервисы: создайте УчебныеКниги, корневой URL study-books. Шаблон /count, метод GET, обработчик КоличествоКниг. Код назначьте именно свойству Обработчик этого HTTP-метода.
Публикация для ручного опыта — только собственная локальная учебная база с необходимой аутентификацией. Наличие функции в конфигурации само не публикует URL и не даёт доступ анонимному пользователю.
Функция КоличествоКниг(Запрос) Экспорт
Если Запрос.HTTPМетод <> "GET" Тогда
Возврат Новый HTTPСервисОтвет(405);
КонецЕсли;
Подсчет = Новый Запрос;
Подсчет.Текст = "ВЫБРАТЬ КОЛИЧЕСТВО(*) КАК Количество
|ИЗ Справочник.УчебныеКарточкиКниг ГДЕ НЕ ПометкаУдаления";
Выборка = Подсчет.Выполнить().Выбрать();
Выборка.Следующий();
Ответ = Новый HTTPСервисОтвет(200);
Ответ.Заголовки.Вставить("Content-Type", "application/json; charset=utf-8");
Тело = ЗаписатьЗначениеJSON(Новый Структура("count", Выборка.Количество));
Ответ.УстановитьТелоИзСтроки(Тело, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);
Возврат Ответ;
КонецФункцииРазбор по шагам
Создайте указанный собственный сервис / операцию / канал и его учебные данные.
Назначьте функцию или процедуру соответствующему обработчику в Конфигураторе.
Для ручной проверки используйте только собственную тестовую публикацию / шину; здесь внешних вызовов не было.
Как проверить результат
Запрос — настоящий HTTPСервисЗапрос; функция возвращает HTTPСервисОтвет, не строку JSON вместо ответа.
У двух собственных непомеченных элементов count=2. Неподходящий HTTP-метод возвращает 405; код ничего не записывает в справочник.
Ожидаемый результат
Показана точная сигнатура и обычная обработка конкретного собственного сервиса.
На что обратить внимание
HTTP, SOAP и сервис интеграции имеют разные типы параметров и результатов.
BSL, HTTP-запросы, SOAP-запросы и работа шины при сборке HTML не выполнялись.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.