Rightech IoT Core REST API
Обновление записей
Запросы PATCH применяют частичное обновление: изменяются только переданные поля,
остальные сохраняют текущие значения. Вложенные объекты объединяются с существующими
по ключам — не переданные вложенные ключи остаются без изменений.
Поля-массивы при этом не объединяются поэлементно — переданный массив целиком заменяет текущий, всегда (это не исключение, а общее правило для всех полей-массивов). Добавить один элемент в массив, не читая и не пересылая его целиком, нельзя.
Отдельные объектные поля являются исключением из merge-by-key и при обновлении заменяются целиком, как и массивы; такое поведение указано в описании соответствующего поля.
Фильтрация списков
Запросы на чтение списков поддерживают фильтрацию по любому полю записи (включая
вложенные, через точку: where.config.foo) через query-параметры where.{поле} и
has.{поле} — не только по тем полям, что приведены как пример параметра в
описании конкретного эндпоинта.
where.{поле}=значение— точное совпадение.where.{поле}!=значение— исключение значения.where.{поле}>=значение/where.{поле}<=значение— сравнение (включительно).where.{поле}=знач1,знач2— вхождение в один из перечисленных вариантов.has.{поле}=true|false— проверка присутствия поля в записи.
Поля с подчёркиванием в имени (например _purgeAt) неотличимы от вложенного пути
после этой точки — при совпадении имени результат может быть неожиданным.
Связи между сущностями
Эндпоинты POST /links/{from}/to/{to} используют единый механизм построения связей:
передайте item, чтобы выбрать исходную запись для привязки, и массивы link/unlink/
update с ID целевых записей, чтобы применить сразу несколько изменений одним запросом.
- повторная привязка уже существующей связи, или отвязка несуществующей — no-op.
- удаление любой из связанных записей автоматически отвязывает её от всех записей, с которыми она была связана, не затрагивая при этом сами эти записи.
-
запрос на изменение связей не атомарный: элементы
link/unlink/updateприменяются параллельными кусками. Весь запрос завершается с ошибкой если в процессе изменения любых отдельных связей возникает проблема. При этом часть запрошенных изменений в связях может сохраниться успешно, потенциально приводя к неконсистентному состоянию.