Работа с REST API

Продукты Юниверс используют REST API для обмена данными между модулями внутри системы, а также для взаимодействия между продуктами (например, Юниверс MDM и DG) и сторонними системами.

REST API повторяет функциональность, доступную в пользовательском интерфейсе. Многие запросы к данным опираются на структуру модели данных, модели качества данных и т.д. Например, при создании записи атрибуты заполняются согласно модели данных и учитываются свойства атрибутов, указанные в модели.

Поэтому перед началом работы с REST API в системах Юниверс MDM и DG необходимо создать модель данных, состоящую из нескольких частей. Получить примеры описаний моделей можно, создав тестовые варианты в интерфейсе пользователя и экспортировав их в виде xml-файлов.

Примечание

При дальнейшем импорте файлов в систему необходимо учитывать, что файл model.xml (модель данных) должен импортироваться после файлов перечислений и единиц измерения, но до файлов модели качества данных и модели сопоставления.

Основная документация по работе с REST API содержится в Swagger UI: перечень запросов, описание параметров и т.п.

Содержание:

Важные изменения REST API

В релизе 6.9 запросы REST API v1 отмечены как устаревшие, поэтому они были исключены из сборки и перешли на v2:

Исключены из SE/EE:

  • org.unidata.mdm.rest.core

  • org.unidata.mdm.rest.v1.search

  • org.unidata.mdm.rest.v1.meta

  • org.unidata.mdm.rest.v1.data

  • org.unidata.mdm.rest.v1.draft

  • org.unidata.mdm.rest.v1.dq.core

  • org.unidata.mdm.rest.v1.dq.data

  • org.unidata.mdm.rest.v1.bulk.core

  • org.unidata.mdm.rest.v1.matching.core

  • org.unidata.mdm.rest.v1.matching.data

  • com.unidata.mdm.rest.v1.bulk.remove.records

  • com.unidata.mdm.rest.v1.workflow.core

Исключены из CE:

  • org.unidata.mdm.rest.core

  • org.unidata.mdm.rest.v1.data

  • org.unidata.mdm.rest.v1.meta

  • org.unidata.mdm.rest.v1.draft

  • org.unidata.mdm.rest.v1.search

  • org.unidata.mdm.rest.v1.dq.core

  • org.unidata.mdm.rest.v1.dq.data

  • org.unidata.mdm.rest.v1.matching.core

  • org.unidata.mdm.rest.v1.matching.data

  • org.unidata.mdm.rest.v1.bulk.core

Изменения в org.unidata.mdm.rest.system.ro.RightRO

В версии 6.8 в результате переработки логики работы системы безопасности изменилась и работа некоторых запросов REST API.

Из REST API удалены эндпоинты: DELETE /security/role/unlink/{roleName}/{resourceName} и GET /security/role/get-all-secured-resources.

В org.unidata.mdm.rest.system.ro.RightRO упростилась структура запроса.

Было:

{
"createdAt": "<dateTime>",
"updatedAt": "<dateTime>",
"createdBy": "<string>",
"updatedBy": "<string>",
"securedResource": {
    "name": "<string>",
    "displayName": "<string>",
    "type": "<string>",
    "category": "<string>"
},
"create": "<boolean>",
"update": "<boolean>",
"delete": "<boolean>",
"read": "<boolean>"
}

Стало:

{
"securedResource": {
    "id":"<string>"
},
"rights": ["string"],
}