No description
Find a file
Oleg Urin 0c927a57f6
All checks were successful
Build, Test and Push Flask App / docker-build-and-push (push) Successful in 4m42s
теперь отправляю названия атрибутов
2026-04-27 13:10:34 +03:00
.forgejo/workflows feat(): Added ci restruct project and add dockerfile 2026-03-30 12:28:11 +03:00
public Добавил иконку с названием на вкладку, исправил форму для вопроса 2026-04-09 22:10:07 +03:00
scripts исправил докер 2026-04-14 21:17:08 +03:00
src теперь отправляю названия атрибутов 2026-04-27 13:10:34 +03:00
.dockerignore исправил docker, добавил gockerignore 2026-04-02 11:44:35 +03:00
.gitignore исправил клиент, пути в функциях, добавил переменную окружения 2026-03-30 22:56:01 +03:00
Dockerfile исправил докер 2026-04-14 21:17:08 +03:00
eslint.config.js feat(): Added ci restruct project and add dockerfile 2026-03-30 12:28:11 +03:00
index.html Добавил иконку с названием на вкладку, исправил форму для вопроса 2026-04-09 22:10:07 +03:00
package-lock.json добавил скрипт для пререндеринга и карту сайта 2026-04-12 00:36:08 +03:00
package.json добавил скрипт для пререндеринга и карту сайта 2026-04-12 00:36:08 +03:00
README.md получение списка товаров 2026-04-12 17:01:24 +03:00
tsconfig.app.json добавил скрипт для пререндеринга и карту сайта 2026-04-12 00:36:08 +03:00
tsconfig.json feat(): Added ci restruct project and add dockerfile 2026-03-30 12:28:11 +03:00
tsconfig.node.json feat(): Added ci restruct project and add dockerfile 2026-03-30 12:28:11 +03:00
vite.config.ts добавил скрипт для пререндеринга и карту сайта 2026-04-12 00:36:08 +03:00

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=оранжевый

Примеры запросов:

  1. Базовый запрос:
GET /products?categoryId=1&page=1&limit=9
  1. С фильтрами (одиночные значения):
GET /products?categoryId=1&page=1&limit=9&size=110х2,2х500&color=оранжевый
  1. С фильтрами (массив значений):
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 мм Цвет: оранжево-коричневый",
  }
]