Формулировка проблемы: необходимо реализовать API для получения описания формы.
Решение: необходимо реализовать метод API, позволяющий возвращать описание формы (мобильное представление формы).
URL
метода:
rest/api/asforms/form/{formID}
. Типа запроса:
GET
.
ContentType: application/json; charset=utf-8
.
Метод принимает следующие строковые параметры:
formID
- ID
формы (обяз.);
isMobile
- признак наличия мобильного
представления у формы, true/false
(не обяз.,
по умолчанию false
).
Примечание:
если isMobile = false
, форма будет возвращена
в обычном представлении;
если isMobile = true
, форма будет возвращена
в мобильном представлении.
Альтернативные потоки событий
если формы с указанным formID
не существует,
сервер должен возвращать {}
(пустой массив);
если при isMobile = true
у формы отсутствует
мобильное представление, сервер должен возвращать
{}
(пустой массив).
Метод возвращает массив json
со следующими
полями:
uuid
version
typeform
- тип формы (0
-
обычное представление, 1
- мобильное
представление, 2
- печатное представление)
name
nameru
namekz
description
type
config
properties
data
datasources
pointers
collations
layout
Полный список значений перечисленных параметров представлен в архитектуре ARTA Synergy.
Пример возвращаемых массивов
{ "uuid": "fdf36124-43a3-4ed9-822b-e106107cd254", "version": 1, "typeform": "0", "name": "мобильное представление", "nameru": "мобильное представление", "namekz": "мобильное представление", "description": "мобильное представление", "type": "form", "config": {}, "properties": [ { "id": "cmp-a3osx8", "type": "textbox", "config": {}, "style": { "height": "20", "align": "left", "font": "Arial", "fontsize": "12" } }, { "id": "cmp-rfrnas", "type": "textarea", "style": { "height": "60", "align": "left", "font": "Arial", "fontsize": "12" } }, { "id": "cmp-bdo0h4", "type": "listbox", "config": {}, "style": { "height": "20", "align": "left", "font": "Arial", "fontsize": "14" } }, { "id": "cmp-3r4fmb", "type": "listbox", "config": {}, "style": { "height": "20", "align": "left", "font": "Arial", "fontsize": "14" } } ], "data": [ { "id": "cmp-bdo0h4", "default": "1" }, { "id": "cmp-3r4fmb", "default": "1" } ], "datasources": [ { "type": "dict", "dict": "City", "key": "1", "value": "2", "id": "cmp-bdo0h4" }, { "type": "dict", "dict": "transport", "key": "value", "value": "name", "id": "cmp-3r4fmb" } ], "pointers": [], "collations": [], "layout": { "totalPages": 1, "pages": [ { "page": 1, "columns": 1, "rows": 4, "components": [ { "id": "cmp-a3osx8", "column": 0, "row": 0 }, { "id": "cmp-rfrnas", "column": 0, "row": 1 }, { "id": "cmp-bdo0h4", "column": 0, "row": 2 }, { "id": "cmp-3r4fmb", "column": 0, "row": 3 } ] } ] } }