GET: количество своих учебных книг

Учебные задачи

Полный обработчик назначается реальному свойству метаданных своего сервиса. Контракт и результат не подменяются фиктивным запуском.

Где и как запускать

Модуль собственного HTTP-сервиса / Web-сервиса / сервиса интеграции в точности по подготовке.

Подготовка

  1. Используйте только собственную учебную конфигурацию. Создайте справочник УчебныеКарточкиКниг, код Строка 10, наименование 100; вручную добавьте Книга и Тетрадь. Рабочие справочники не читаются.

  2. Основной код — модуль указанного собственного сервиса, не модуль формы. Сервер / толстый клиент; клиентских директив нет. Код при сборке справочника не исполняется, сервис не публикуется и запросы не отправляются.

  3. Общие → HTTP-сервисы: создайте УчебныеКниги, корневой URL study-books. Шаблон /count, метод GET, обработчик КоличествоКниг. Код назначьте именно свойству Обработчик этого HTTP-метода.

  4. Публикация для ручного опыта — только собственная локальная учебная база с необходимой аутентификацией. Наличие функции в конфигурации само не публикует URL и не даёт доступ анонимному пользователю.

Функция КоличествоКниг(Запрос) Экспорт
    Если Запрос.HTTPМетод <> "GET" Тогда
        Возврат Новый HTTPСервисОтвет(405);
    КонецЕсли;
    Подсчет = Новый Запрос;
    Подсчет.Текст = "ВЫБРАТЬ КОЛИЧЕСТВО(*) КАК Количество
    |ИЗ Справочник.УчебныеКарточкиКниг ГДЕ НЕ ПометкаУдаления";
    Выборка = Подсчет.Выполнить().Выбрать();
    Выборка.Следующий();
    Ответ = Новый HTTPСервисОтвет(200);
    Ответ.Заголовки.Вставить("Content-Type", "application/json; charset=utf-8");
    Тело = ЗаписатьЗначениеJSON(Новый Структура("count", Выборка.Количество));
    Ответ.УстановитьТелоИзСтроки(Тело, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);
    Возврат Ответ;
КонецФункции

Разбор по шагам

  1. Создайте указанный собственный сервис / операцию / канал и его учебные данные.

  2. Назначьте функцию или процедуру соответствующему обработчику в Конфигураторе.

  3. Для ручной проверки используйте только собственную тестовую публикацию / шину; здесь внешних вызовов не было.

Как проверить результат

  1. Запрос — настоящий HTTPСервисЗапрос; функция возвращает HTTPСервисОтвет, не строку JSON вместо ответа.

  2. У двух собственных непомеченных элементов count=2. Неподходящий HTTP-метод возвращает 405; код ничего не записывает в справочник.

Ожидаемый результат

Показана точная сигнатура и обычная обработка конкретного собственного сервиса.

На что обратить внимание

  1. HTTP, SOAP и сервис интеграции имеют разные типы параметров и результатов.

  2. BSL, HTTP-запросы, SOAP-запросы и работа шины при сборке HTML не выполнялись.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.