Фильтры — UniBPM
  • Ru

Фильтры (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 ограничивает результат доступными задачами и пространствами, затем применяет публичные критерии запроса.