No description
|
All checks were successful
Build, Test and Push Flask App / docker-build-and-push (push) Successful in 4m42s
|
||
|---|---|---|
| .forgejo/workflows | ||
| public | ||
| scripts | ||
| src | ||
| .dockerignore | ||
| .gitignore | ||
| Dockerfile | ||
| eslint.config.js | ||
| index.html | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.app.json | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| vite.config.ts | ||
API
Категории
Получение всех категорий
Запрос: GET /api/categories
Получаю:
[
{
"id": 1,
"name": "для внутренней канализации",
"image": "/images/hghfghgd.jpg",
"atributes": [
{
"id": 1,
"name": "цвет",
"vals": [
{ "id": 1001, "val": "оранжевый" },
{ "id": 1002, "val": "серый" },
]
},
{
"id": 2,
"name": "размер",
"vals": [
{ "id": 2001, "val": "..." },
{ "id": 2002, "val": "...." },
{ "id": 2003, "val": "...." }
]
},
{
"id": 2,
"name": "кол-во в упаковке",
"vals": [
{ "id": 2001, "val": "2" },
{ "id": 2002, "val": "4" },
]
}
]
},
{
"id": 1,
"name": "для внешней канализации",
"image": "/images/sfjsjsjf.jpg",
"atributes": [
{
"id": 1,
"name": "цвет",
"vals": [
{ "id": 1001, "val": "оранжевый" },
{ "id": 1002, "val": "серый" },
]
},
{
"id": 2,
"name": "размер",
"vals": [
{ "id": 2001, "val": "..." },
{ "id": 2002, "val": "...." },
{ "id": 2003, "val": "...." }
]
},
{
"id": 2,
"name": "кол-во в упаковке",
"vals": [
{ "id": 2001, "val": "2" },
{ "id": 2002, "val": "4" },
]
}
]
}
]
Товары (Products)
Получение товаров по id категории с фильтрацией
Запрос: GET /products
Параметры запроса (Query Parameters):
| Параметр | Тип | Обязательный | Описание | Пример |
|---|---|---|---|---|
categoryId |
number | Да | ID категории | categoryId=1 |
page |
number | Нет | Номер страницы (по умолчанию 1) | page=2 |
limit |
number | Нет | Количество товаров на странице (по умолчанию 9) | limit=12 |
filters |
object | Нет | Фильтры по атрибутам | size=110х2,2х500&color=оранжевый |
Примеры запросов:
- Базовый запрос:
GET /products?categoryId=1&page=1&limit=9
- С фильтрами (одиночные значения):
GET /products?categoryId=1&page=1&limit=9&size=110х2,2х500&color=оранжевый
- С фильтрами (массив значений):
GET /products?categoryId=1&page=1&limit=9&size=110х2,2х500,110х2,2х1500&color=серый
Получаю:
{
"items": [
{
"id": 101,
"name": "Труба ПВХ",
"description": "бля бля",
"categoryId": 1,
"images": ["/images/s23-1.jpg", "/images/s23-2.jpg"],
"attributes": {
"color": "серый",
"amount": "4",
"size": "110х2,2х500"
},
"inStock": true,
}
],
"total": 45,
"page": 1,
"limit": 9
}
Получение товаров по id
Запрос: GET/product/fetchById
Параметры запроса:
id(path parameter) - уникальный идентификатор товара
Пример запроса:
GET /api/products/101
Получаю:
{
"id": 101,
"name": "ПВХ труба",
"description": "бля бля",
"categoryId": 1,
"images": [
"/images/s23-1.jpg",
"/images/s23-2.jpg",
"/images/s23-3.jpg"
]
}
Получение списка товаров
Запрос
GET api/productList/
получаю
[
{
"id": 1,
"full_name": "Труба ПВХ для НАРУЖНОЙ канализации (цвет оранжево-коричневый), со сплошной стенкой 110x2.3x1000",
"description": "Труба ПВХ для НАРУЖНОЙ канализации (цвет оранжево-коричневый), со сплошной стенкой 110x2.3x1000 Труба ПВХ для наружная канализации, Диаметр: 110мм, Толщина стенки: 2.3мм, Длина: 1000мм Тип применения: наружная канализация Размеры: 110x2.3x1000 мм Цвет: оранжево-коричневый",
},
{
"id": 1,
"full_name": "Труба ПВХ для НАРУЖНОЙ канализации (цвет оранжево-коричневый), со сплошной стенкой 110x2.3x1000",
"description": "Труба ПВХ для НАРУЖНОЙ канализации (цвет оранжево-коричневый), со сплошной стенкой 110x2.3x1000 Труба ПВХ для наружная канализации, Диаметр: 110мм, Толщина стенки: 2.3мм, Длина: 1000мм Тип применения: наружная канализация Размеры: 110x2.3x1000 мм Цвет: оранжево-коричневый",
}
]