Skip to content

Документация HTTP сервисов в 1С при помощи swagger

License

Notifications You must be signed in to change notification settings

zerobig/swagger-1c

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Swagger для 1С:Предприятия 8

OpenYellow

Данный продукт предназначен для организации процесса документирования HTTP сервисов конфигураций написанных на платформе 1С:Предприятие. image

Кроме swagger-ui для визуализации API могут использоваться следующие решения:

ReDoc
Scalar
Stoplight
RapiDoc

Для того чтобы переключиться на желаемую библиотеку в строке запроса надо добавить параметр:

/swagger/index.html?ui=scalar

Состав репозитория

  • swagger - расширение конфигурации реализующее функциональность создания документации
  • swagger-test - расширение для тестирования

Порядок установки

В режиме конфигуратора создать расширение и выполнить загрузку конфигурации из файлов, указав при этом каталог swagger.

Документация

Документация находится по адресу https://zerobig.github.io/swagger-1c/. Наполнение продолжается.

Запуск

Опубликовать базу 1С:Предприятия на web-сервере. Обязательно проконтролировать, что cтоит настройка публикации "Публиковать HTTP сервисы расширений по умолчанию". Возможно после публикации или изменения настроек публикации потребуется перезапуск web-сервера. Открыть в браузере страницу http://<Адрес_опубликованной_базы_1С_Предприятия>/hs/swagger/index.html

Создание описаний для своих HTTP сервисов

Поиск описаний происходит среди общих модулей. Наименование общего модуля должно быть построено по шаблону: "<Наименование_HTTP_сервиса>Описание".

Пример создания описания можно посмотреть:

  • swagger-test\CommonModules\SwagTest_Тестовый_HTTPСервисОписание
  • swagger-test\CommonModules\ПередачаДанныхОписание

Проверка входящих (запросов) и исходящих (ответов)

Реализовано через вызов обёрток "ПроверитьПараметры" и "ПроверитьОтвет" соответственно.

Для проверки входящих параметров:

РезультатПроверкиПараметров = Swag_ОбработкаHTTP.ПроверитьПараметры("SwagTest_Тестовый_HTTPСервис", "ТестовыйGET", Запрос);
Если Не ПустаяСтрока(РезультатПроверкиПараметров) Тогда
    Возврат Swag_ОбработкаHTTP.ПолучитьОтветОшибки(РезультатПроверкиПараметров, Истина);
КонецЕсли;

Для проверки ответа:

Возврат Swag_ОбработкаHTTP.ПроверитьОтвет("SwagTest_Тестовый_HTTPСервис", "ТестовыйGET", Ответ);
Функциональность Статус Обсуждение
Наличие описания в запросах Запланировано
Входящие параметры GET запросов Запланировано
Входящие параметры POST запросов Запланировано
Наличие описания в ответах Реализовано
Наличие и соответствие кода ответа Реализовано
Наличие и соответствие типа MIME в ответе Реализовано
Исходящие параметры Запланировано
Статический swagger.json В работе Ссылка