Поиск товара по критерию - kramarov-evg/smart-design GitHub Wiki
Endpoint | Метод | Тип данных запроса | Тип данных ответа |
---|---|---|---|
/products/search | POST | JSON | JSON |
{
"name": {
"method": <имя метода соответствия>,
"pattern": <критерий поиска>
},
<имя параметра>: {
"method": <имя метода соответствия>,
"pattern": <критерий поиска>
},
<имя параметра>: {
"method": <имя метода соответствия>,
"pattern": <критерий поиска>
},
...
}
Все поля являются необязательными. Все поля являются объектами со следующими полями:
-
"method" - Обязательное поле. Строка. Варианты значений:
- 'exact': Для строковых значений. Точное соответствие поля переданной в "pattern" строке.
- 'startsWith': Для строковых значений. Искомая строка должна начинаться с "pattern".
- 'endsWith': Для строковых значений. Искомая строка должна оканчиваться на "pattern".
- 'contains': Для строковых значений. Искомая строка должна содержать "pattern".
- 'equal': Для числовых значений. Искомый параметр должен равняться "pattern".
- 'greaterThan': Для числовых значений. Искомый параметр должен быть больше "pattern".
- 'lessThan': Для числовых значений. Искомый параметр должен быть меньше "pattern".
- 'greaterEqual': Для числовых значений. Искомый параметр должен быть не меньше "pattern".
- 'lessEqual': Для числовых значений. Искомый параметр должен быть не больше "pattern".
- 'notEqual': Для числовых значений. Искомый параметр должен быть не равен "pattern".
- "pattern" - Обязательное поле. Строка или число. Значение, которое будет искаться с помощью "method"
Ответом на запрос является либо список товаров, удовлетворяющих условиям поиска (пустой в случае отсутствия таковых), либо JSON с информацией об ошибке.
[
{
"_id": {
"$oid": <id найденного товара>
}
"name": <имя товара>,
"description": <описание товара>
"params": {
"param1": <значение первого параметра>,
"param2": <значение второго параметра>,
...
}
},
{
"_id": {
"$oid": <id найденного товара>
}
"name": <имя товара>,
"description": <описание товара>
"params": {
"param1": <значение первого параметра>,
"param2": <значение второго параметра>,
...
}
},
...
]
- "_id" - Обязательное поле. Объект
Объект, единственный полем которого является "$oid"
. Это поле содержит id добавленного товара
- "name" - Обязательное поле. Строка.
Имя товара.
- "description" - Обязательное поле. Строка.
Описание товара.
- "params" - Необязательное поле. Объект.
Дополнительные параметры товара. Каждое поле объекта - пара ключ-значение: имя параметра и его значение. Имена параметров - строки. Значения параметров не имеют ограничений типов. Возвращается только в том случае, если присутствует в базе