Задача [API51]: API для получения описания экрана для запуска маршрута реестра

Формулировка проблемы: необходимо реализовать API-метод, позволяющий возвращать описание экрана для запуска маршрута реестра.

Решение: необходимо реализовать следующий метод:

URL метода: rest/api/registry/route.

Тип запроса: GET.

Метод принимает следующие строковые параметры:

Альтернативные потоки событий

В случае успешного выполнения и наличия выбранного типа события возвращается json c полями:

Каждый из полей before / action / after, в свою очередь, содержит json c полями:

В случае отсутствия выбранного типа события возвращается json с полями:

Пример возвращаемых массивов

{
  "closeAfterActivation": "false",
  "before": {
    "showOnSave": "true",
    "routeID": "cf9f8a9a-1ccc-4327-b829-a71e472d393e",
    "items": [
      {
        "itemID": "7b097e72-e303-487f-83a1-cb76397abd57",
        "code": "",
        "users": [
          {
            "name": "Работа 1",
            "itemID": "7b097e72-e303-487f-83a1-cb76397abd57",
            "typeID": "ASSIGNMENT_ITEM",
            "userID": "f9b0b304-c856-4bcf-8615-e13cded16a14",
            "userName": "Андреев И.В.",
            "length": "2.0",
            "lengthType": "DAYS",
            "workloadValue": "2.0",
            "workLoadType": "HOURS",
            "returnNumber": "",
            "completionFormID": ""
          },
          {
            "name": "Работа 2",
            "itemID": "7b097e72-e303-487f-83a1-cb76397abd57",
            "typeID": "ASSIGNMENT_ITEM",
            "userID": "",
            "userName": "",
            "length": "8.0",
            "lengthType": "HOURS",
            "workloadValue": "20.0",
            "workLoadType": "PERCENT",
            "returnNumber": "",
            "completionFormID": "179bda2e-6d55-4ed5-b1be-890ffad280ba"
          }
        ]
      },
      {
        "itemID": "dc890ecf-e340-4ada-b7e6-d6541486a599",
        "code": "",
        "users": [
          {
            "name": "Прошу согласовать",
            "itemID": "dc890ecf-e340-4ada-b7e6-d6541486a599",
            "typeID": "AGREEMENT_ITEM",
            "userID": "",
            "userName": "",
            "length": "1.0",
            "lengthType": "DAYS",
            "workloadValue": "1.0",
            "workLoadType": "DAYS",
            "returnNumber": "",
            "completionFormID": ""
          }
        ]
      }
    ]
  },
  "action": {
    "showOnSave": "false",
    "routeID": "22cc3118-3bcd-4543-98b4-a30982ba5c2a",
    "items": [
      {
        "itemID": "414acd59-aaf8-4202-8c00-b39e1fe73bbc",
        "code": "",
        "users": [
          {
            "name": "Назначение на должность",
            "itemID": "414acd59-aaf8-4202-8c00-b39e1fe73bbc",
            "typeID": "POSITION_APPOINMENT_ITEM",
            "userID": "",
            "userName": "",
            "length": "8.0",
            "lengthType": "HOURS",
            "workloadValue": "20.0",
            "workLoadType": "PERCENT",
            "returnNumber": "1",
            "completionFormID": ""
          }
        ]
      },
      {
        "itemID": "2d9a641d-178c-4b05-b2f4-a231958718fd",
        "code": "",
        "users": [
          {
            "name": "Копировать в Папка",
            "itemID": "2d9a641d-178c-4b05-b2f4-a231958718fd",
            "typeID": "COPY_TO_PR_FOLDER_ITEM",
            "userID": "",
            "userName": "",
            "length": "8.0",
            "lengthType": "HOURS",
            "workloadValue": "20.0",
            "workLoadType": "PERCENT",
            "returnNumber": "",
            "completionFormID": ""
          }
        ]
      }
    ]
  },
  "after": {
    "showOnSave": "false",
    "routeID": "",
    "items": []
  }
}