Archived
1
0

Update README.md

This commit is contained in:
Serghei Cebotari 2023-11-14 15:49:30 +03:00
parent 8035577277
commit f81b4d3c82

View File

@ -1,19 +1,23 @@
# API
Для работы с тестовой базой данных для задания собрано минимальное API. БД SQLite, работает без ORM через библиотеку Microsoft.Data.Sqlite.
Приложение собрано в Docker-образ и развернуто по адресу <https://mindbox.cebotari.ru/>
## База данных
### Таблица со списком категорий
- Таблица со списком категорий
```sql
CREATE TABLE categories(
category_id INT NOT NULL PRIMARY KEY,
category_name VARCHAR(10)
);
```
### Таблица со списком продуктов
- Таблица со списком продуктов
```sql
CREATE TABLE products(
product_id INT NOT NULL PRIMARY KEY,
product_name VARCHAR(10)
);
```
### Таблица товара с категориями
- Таблица товара с категориями
```sql
CREATE TABLE grocery_store(
product_id INT,
@ -22,7 +26,7 @@ CREATE TABLE grocery_store(
FOREIGN KEY (category_id) REFERENCES categories (category_id)
);
```
## Выбор всех пар "Имя продукта - Имя категории" (основное задание)
## Выбор пар "Имя продукта - Имя категории"
Запрос
```sql
SELECT product_name AS product, category_name AS category FROM products
@ -30,22 +34,56 @@ 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;
```
```ps
Invoke-RestMethod https://mindbox.cebotari.ru/item -Method GET
```
```
productName categoryName
----------- ------------
Apple Red
Apple Green
Cucumber Green
Eggplant
Olives Black
Tomato Red
```
## Дополнительно реализовано
- Вывод списка продуктов
```ps
Invoke-RestMethod https://mindbox.cebotari.ru/product -Method GET
```
```
id name
-- ----
1 Apple
2 Cucumber
3 Tomato
4 Eggplant
5 Olives
```
- Добавление нового продукта
```ps
Invoke-RestMethod https://mindbox.cebotari.ru/product -Method POST -Body (@{Id=5; Name="Olives"} | ConvertTo-Json) -ContentType "application/json"
```
## Дополнительно реализованы
### Добавление новой категории
- Вывод списка категорий
```ps
Invoke-RestMethod https://mindbox.cebotari.ru/category -Method GET
```
```
id name
-- ----
1 Red
2 Green
3 Yellow
4 Magenta
5 Black
```
- Добавление новой категории
```ps
Invoke-RestMethod https://mindbox.cebotari.ru/category -Method POST -Body (@{Id=5; Name="Black"} | ConvertTo-Json) -ContentType "application/json"
```
### Добавление нового продукта
- Добавление нового товара
```ps
Invoke-RestMethod http://mindbox.cebotari.ru/product -Method POST -Body (@{Id=5; Name="Olives"} | ConvertTo-Json) -ContentType "application/json"
```
### Добавление новой нового товара
```ps
Invoke-RestMethod -Uri "http://mindbox.cebotari.ru/item?productId=5&categoryId=5" -Method POST
Invoke-RestMethod -Uri "https://mindbox.cebotari.ru/item?productId=5&categoryId=5" -Method POST
```