Archived
1
0
API для работы с запросами тестового задания Mindbox https://mindbox.cebotari.ru/
This repository has been archived on 2023-12-01. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
2023-11-14 14:14:42 +03:00
.vscode Initial commit 2023-11-14 09:45:37 +03:00
MindBoxApi Add POST methods 2023-11-14 12:00:20 +03:00
.gitignore Initial commit 2023-11-14 09:45:37 +03:00
Dockerfile Add Docker support 2023-11-14 14:14:42 +03:00
MindBoxApi.sln Add Docker support 2023-11-14 14:14:42 +03:00
README.md Add README 2023-11-14 12:00:03 +03:00

База данных

Таблица со списком категорий

CREATE TABLE categories(
    category_id INT NOT NULL PRIMARY KEY,
    category_name VARCHAR(10) 
);

Таблица со списком продуктов

CREATE TABLE products(
    product_id INT NOT NULL PRIMARY KEY,
    product_name VARCHAR(10) 
);

Таблица товара с категориями

CREATE TABLE grocery_store(
    product_id INT,
    category_id INT,
    FOREIGN KEY (product_id) REFERENCES products (product_id),
    FOREIGN KEY (category_id) REFERENCES categories (category_id)
);

Выбор всех пар "Имя продукта - Имя категории" (основное задание)

Запрос

SELECT product_name AS product, category_name AS category FROM products
LEFT JOIN grocery_store ON grocery_store.product_id = products.product_id
LEFT JOIN categories ON grocery_store.category_id = categories.category_id
ORDER BY product;
Invoke-RestMethod https://mindbox.cebotari.ru/item -Method GET

Дополнительно реализованы

Добавление новой категории

Invoke-RestMethod https://mindbox.cebotari.ru/category -Method POST -Body (@{Id=5;  Name="Black"} | ConvertTo-Json) -ContentType "application/json"

Добавление нового продукта

Invoke-RestMethod http://mindbox.cebotari.ru/product -Method POST -Body (@{Id=5;  Name="Olives"} | ConvertTo-Json) -ContentType "application/json"

Добавление новой нового товара

Invoke-RestMethod -Uri "http://mindbox.cebotari.ru/item?productId=5&categoryId=5" -Method POST