Генератор запросов
Описание сервиса
Сервис представляет собой веб-интерфейс для генерации запросов в формате JSON на основе документов-шаблонов в форматах DOCX/XLSX/PDF-forms.
Генератор запросов позволяет:
автоматизировать и ускорить создание запросов на основе разработанных шаблонов.
проводить проверку запросов благодаря быстрой генерации отчетов прямо в интерфейсе генератора запросов.
быстро разобраться со структурой и параметрами запросов на практике.
Путь к сервису
Для работы с сервисом необходимо в адресной строке браузера открыть страницу генератора запросов:
[host]:[port]/xreports/req_gen
Например:
http://localhost:8886/xreports/req_gen
Интерфейс
Стартовая страница генератора запроса состоит из блока для загрузки шаблона и блока со справочной информацией.
Основная страница генератора запросов состоит из:
блока для загрузки шаблона (drag&drop либо выбор файла)
блока curl, который содержит команду для выполнения запроса к xreports.
блока запроса, который содержит JSON запроса и элементы управления запросом.
блока параметров, который содержит параметры для формирования запроса в зависимости от его типа.
Описание работы
Генератор запросов поддерживает загрузку шаблонов документов в формате DOCX, XLSX и PDF-форм. После загрузки файла шаблона сервис сканирует шаблон на наличие тегов и формирует json запроса с тестовыми подстановочными данными.
Пользователь может отредактировать тестовые данные вручную, а также настроить опции запроса. После того, как запрос готов, пользователь может скопировать/скачать запрос или сгенерировать отчет на основе текущего запроса.
Для того, чтобы начать работу с новым шаблоном, необходимо загрузить новый документ через блок выбора файла.
Именование тегов в шаблонах
Генератор запросов различает большинство тегов из документов шаблонов, но некоторые объектные теги неотличимы от обычных тегов данных по структуре шаблона, поэтому для корректного распознавания необходимо придерживаться определенных правил именования тегов.
Для DOCX:
В шаблонах DOCX тег таблицы без формата должен содержать константу xtnf в начале или конце названия тега:
[xtnf_table1], [таблица1_xtnf], [xtnf], [тблxtnf]
Для XLSX:
В шаблонах XLSX тег таблицы должен содержать константу xtbl в начале или конце названия тега:
[xtbl_t1], [таблица2_xtbl]
Все теги подстановки по умолчанию распознаются как строковые, таким образом тестовые значения в запросе будут строковые. Для того, чтобы генератор подставил тестовые значения тегов правильного типа нужно в тегах использовать следующие константы:
xnum — тег с числовым значением. Например: [xnum_value], [xnum3]
xfrml — тег с формулой. Например: [xfrml_форм1], [xfrml2]
xlink — тег с ссылкой. Например: [xlink_1], [ссылка_xlink]
API генератора
Генератор запросов имеет API, который позволяет создать свой интерфейс генератора запросов и внедрить его в свои системы.
Ниже приведено описание доступных методов API.
Метод |
Путь |
Описание |
Параметры / Тело запроса |
Ответ |
POST |
|
Загрузка шаблона документа |
Тип: Поле: |
cookies: |
GET |
|
Получение тела запроса в JSON |
cookies: |
Тело: JSON запроса |
POST |
|
Установка опции (cmd) |
cookies: Тело: |
|
GET |
|
Получение curl для запроса |
cookies: |
Тело: JSON с curl |
POST |
|
Генерация текущего отчета |
cookies: Тело: |
Тело: Бинарный файл отчета |
При установке опций с помощью POST /xreports/api/cmd в теле запроса может быть передана одна из следующих команд:
Команда |
Описание |
|
Локальный URI шаблона |
|
Удаленный URI шаблона |
|
Встроенный шаблон (base64) |
|
Установить output-mode = base64 |
|
Установить output-mode = Бинарный поток |
|
Установить output-mode = получение результата по ссылке |
|
Включить отладку |
|
Выключить отладку |
|
Включить конвертацию в PDF |
|
Выключить конвертацию в PDF |
|
Включить автоматическое объединение ячеек |
|
Выключить автоматическое объединение ячеек |
|
Включить мультидок режим для docx, для xslx включить запрос v2 |
|
Выключить мультидок режим, для xlsx включить запрос v1 |
|
Включить итерацию тестовых значений |
|
Выключить итерацию тестовых значений |
|
Включить финализацию PDF-форм |
|
Выключить финализацию PDF-форм |
XREPORTS также предоставляет документацию API в формате OpenAPI 3.0.
OpenAPI Spec (YAML) - Машиночитаемая спецификация API в формате YAML. Может быть использована для генерации клиентов, валидации и интеграций.
Адрес: http://<host>:<port>/xreports/swagger.yaml