Поиск записей в табличном списке
Запрос
| Тип | Метод |
|---|---|
POST |
/value_stores/{id}/search |
Описание: При выполнении запроса будут возвращены найденные записи табличного списка с учётом заданных фильтров.
Пример запроса
POST
http://127.0.0.1/cruddy/v2/value_stores/{id}/search
Path параметры запроса:
| Параметр | Описание |
|---|---|
| {id} | Идентификатор табличного списка |
Тело запроса:
| Параметр | Тип данных | Обязательность | Описание |
|---|---|---|---|
| include_fields | Array<string> |
Required | Список полей для выборки. Если модель содержит поля, не указанные в запросе, они будут отсутствовать в ответе |
| exclude_fields | Array<string> |
Required | Список полей для удаления из выборки. Если модель содержит поля, указанные в запросе, они будут отсутствовать в ответе |
| filters | Array<filters> |
Required | Список фильтров по полям модели |
| ordering | Array<ordering> |
Required | Настройки сортировки |
| virtual_search | object<virtual_search> |
Required | Поле для поиска по подстроке по всем строковым полям модели и настройка строгого поиска |
| relations | Array<string> |
Required | Список связей для выборки. Список доступных связей отображается в ответе запроса на получение метаданных - “/_meta” |
| limit | integer |
Required | Лимит выдачи найденных объектов |
| offset | integer |
Required | Отступ от начала результата поиска в базе |
| _relations | Array<string> |
Optional | Перечисление связанных сущностей идентификаторы которых нужно вернуть в ответе в поле _relations |
Array of filters
| Параметр | Тип данных | Обязательность | Описание |
|---|---|---|---|
| field | string |
Required | Название поля модели |
| value | object |
Required | Значение для фильтрации |
| filter_type | string |
Required | В зависимости от этого значения определяется допустимые значения в поле value. Допустимые значения:- equal -> строка|число, проверяет равенство значений - substr -> строка, проверяет вхождение подстроки - intersection -> массив (тип элемента зависит от типа поля), проверяет вхождение значения поля в переданный массив - range -> массив (тип элемента зависит от типа поля), проверяет вхождение значения поля в переданный диапазон - related -> строка или массив строк (uuid), проверят связанность с моделью по идентификатору если value: [], проверяет наличие или отсутствие связанных сущностей- exists -> значение отсутствует, проверяется равенство колонки с null |
| negation | boolean |
Optional | Флаг использования отрицания при проверке фильтра |
Array of ordering
| Параметр | Тип | Обязательность | Описание / Допустимые значения |
|---|---|---|---|
| field | string |
Required | Поле модели выбранное для сортировки |
| direction | string |
Required | Направление сортировки. Допустимые значения: - asc - desc |
Object VirtualSearch
| Параметр | Тип | Обязательность | Описание / Допустимые значения |
|---|---|---|---|
| value | string |
Required | Значение выбранное для поиска |
| strict | boolean |
Required | Опция, включающая строгий поиск. Возможные значения: - true - строгий поиск включена;- false - строгий поиск выключен. |
Пример тела запроса
{
"include_fields": [
"string"
],
"exclude_fields": [
"string"
],
"filters": [
{
"field": "string",
"value": [
"name",
[
"value1",
"value2"
]
],
"filter_type": "equal",
"negation": false
}
],
"ordering": [
{
"field": "string",
"direction": "asc"
}
],
"virtual_search": {
"value": "string",
"strict": false
},
"relations": [
"service_asset_findings",
"logmule_go_rules",
"user"
],
"limit": 20,
"offset": 0,
"_relations": [
"string"
]
}
Успешный ответ
Статус код: 200 – успешный ответ.
Формат: JSON.
Параметры ответа:
| Параметр | Тип данных | Описание |
|---|---|---|
| items | Array<KeyValueStoreRecord> |
Список найденных записей табличных списков. |
| items{_id} | string |
Ключ записи табличного списка, может состоять из нескольких полей записи |
| items{_ttl} | string |
Время жизни записи табличного списка |
| items{field_1} | object |
Поле табличного списка в соответствии со схемой |
| items{field_N} | object |
Поле табличного списка в соответствии со схемой |
| total | integer |
Количество найденных табличных списков |
Пример ответа
{
"items": [
{
"_id": "string",
"_ttl": "70d6107b-6256-4b71-b48c-9cead6ddf9fe",
"field_1": {},
"field_N": {}
}
],
"total": 1
}
Другие возможные ответы
| Код | Ответ | Описание |
|---|---|---|
400 |
Bad Requestid is empty |
Неверный тип параметра запроса, либо отсутствует обязательный параметр Не указан идентификатор табличного списка |
500 |
Internal Server Error |
Другие ошибки сервера |
Примечание: Текст ошибки не фиксированный, может изменяться в зависимости от фактического ответа получателя запроса.
Пример ответа
Код 400
{ "error": "Bad Request", "error_code": 400 }Код 500
{ "error": "Internal Server Error", "error_code": 500 }