Фильтры (Filter)
Списочные REST API UniBPM поддерживают Criteria API. Условие передаётся как query-параметр в формате:
<поле>.<оператор>=<значение>
Например, запрос задач конкретного пространства:
GET /api/task?workflowId.equals=9d3d80a3-5e6d-4ccd-a85f-9d40aaf83b21
Операторы
| Оператор | Назначение |
|---|---|
equals | Значение равно указанному |
notEquals | Значение не равно указанному |
specified | Поле заполнено (true) или не заполнено (false) |
in | Значение входит в список |
notIn | Значение не входит в список |
contains | Строка содержит фрагмент |
doesNotContain | Строка не содержит фрагмент |
greaterThan | Значение больше указанного |
greaterThanOrEqual | Значение больше либо равно указанному |
lessThan | Значение меньше указанного |
lessThanOrEqual | Значение меньше либо равно указанному |
Операторы диапазона применимы к числам, датам и времени. contains и doesNotContain применимы к строковым полям.
Для in и notIn значения передаются списком через запятую:
GET /api/task?taskState.in=NEW,ASSIGNED
Дата и время
Поля типа Instant, включая срок выполнения задачи dueDate, передаются в ISO 8601 с часовым поясом:
2026-08-25T15:30:00Z
Пример выборки задач, срок которых наступает в августе 2026 года:
GET /api/task?dueDate.greaterThanOrEqual=2026-08-01T00:00:00Z&dueDate.lessThan=2026-09-01T00:00:00Z
Задачи без указанного срока:
GET /api/task?dueDate.specified=false
Комбинирование условий
Разные query-параметры объединяются логическим AND. Например, активные задачи пространства со сроком до указанной даты:
GET /api/task?workflowId.equals=9d3d80a3-5e6d-4ccd-a85f-9d40aaf83b21&taskState.in=NEW,ASSIGNED&dueDate.lessThanOrEqual=2026-08-31T23:59:59Z
Стандартные параметры пагинации и сортировки передаются вместе с критериями:
GET /api/task?workflowId.equals=9d3d80a3-5e6d-4ccd-a85f-9d40aaf83b21&page=0&size=20&sort=dueDate,asc
Фильтры не расширяют права пользователя. Сначала UniBPM ограничивает результат доступными задачами и пространствами, затем применяет публичные критерии запроса.