FilterContainer состоит из "объекта" where, объединяющий в поле operands условия фильтрации. Условия фильтрации объединяются согласно правилу, описанному в поле operatorType (1 - операция AND, 2- OR).


Условия фильтрации вкладываются в поле-массив operands.

В простом случае условие отбора состоит из поля:

 field - поле модели на бэке,

value - требуемое значение (или его часть),

filterType - тип элемента сравнения значения из фильтра с искомыми. Может принимать один из следующих значений:

  1. Поле не фильтруется.

None = 0,

  1. Поле равно значению.

Equal = 1,

  1. Поле не равно значению.

NotEqual = 2,

  1. Поле меньше значения.

LessThan = 3,

  1. Поле больше значения.

GreaterThan = 4,

  1. Поле меньше или равно значению.

LessThanOrEqual = 5,

  1. Поле больше или равно значению.

GreaterThanOrEqual = 6,

  1. Поле содержит значение.

Contains = 7,

  1. Поле не содержит значение.

NotContains = 8,

  1. Поле начинается со значения.

StartsWith = 9,

  1. Поле не начинается со значения.

NotStartsWith = 10,


Но также условия отбора могут быть и сложными, т.е. включать в себе наборы operands (для сравнения).

Ниже приложен пример фильтра для поиска медицинской карты стационарного больного по полю GUID:

Пример в формате JSON
{
  "where": {
    "field": null,
    "filterType": 0,
    "value": null,
    "operatorType": 1,
    "operands": [
      {
        "field": "GUID",
        "filterType": 1,
        "value": "eb8820f7-9dc2-44d6-802f-ebc231224485",
        "operands": null,
        "operatorType": 0
      }
    ]
  },
  "take": 100,
  "skip": 0
}
  • Нет меток