OData (Open Data Protocol) — это открытый веб-протокол для получения, добавления, удаления и обновления данных. OData позволяет выполнять операции с данными с помощью HTTP-запросов и получать ответы в формате JSON (подробнее о веб-протоколе и запросах можно ознакомиться тут https://www.odata.org/getting-started/). Доступ к данным посредством OData можно использовать, например:
Для включения OData в Bussiness Studio нужно включить опцию у пользователя, от которого будет запущено приложение, обслуживающее работу протокола. Настройка OData задается опцией «Разрешено использование OLE/OData» (Главное меню - Настройки пользователя - вкладка Дополнительно). При включенной опции запущенная БС будет обслуживать запросы OData. Задать номер порта можно используя ключ /port=НомерПорта в командной строке запуска приложения.
Внимание! В запросах используются системные названия справочников и параметров, которые можно посмотреть в Объектной модели в Business Studio или в MetaEdit.
Метод запроса выбирается в зависимости от того, какая операция выполняется.
Для тестирования команд можно использовать Postman (https://www.postman.com/).
Для get запросов можно использовать следующие параметры:
$select, $expand, $filter, $orderby, $skip, $top, $apply.
Примеры:
Пример:
В теле запроса в JSON указываются поля для заполнения нового объекта:
{"@odata.id": "http://localhost:9000/API/v1/OData/AppPlatform.Person('0x0010140000000000000000000000000000000000000000000000000000003D')", "ID": "0x0010140000000000000000000000000000000000000000000000000000003D", "ID_Parent": "0x00101400000000000000000000000000000000000000000000000000000000", "LastName": "Иванов", "Name": "Иванов Иван Иванович", "OwnerSID": "dwEFAAAAAAAFFQAAAO26+HsXMtOVLBHtYz4GAAA=", "FirstName": "Иван", "InternalAuditor": false, "ACL": null, "guid": "da3f29c0-1f0c-4eb3-becc-7a8d93a75746", "Patronymic": "Иванович" }
Пример:
В теле запроса в JSON указываются поля, которые нужно изменить в объекте.
Пример:
В результате возвращается серверное сообщение «204 no content» и объект удаляется, либо появляется текст ошибки в теле ответа.