Update README.md
This commit is contained in:
parent
8035577277
commit
f81b4d3c82
66
README.md
66
README.md
@ -1,19 +1,23 @@
|
|||||||
|
# API
|
||||||
|
Для работы с тестовой базой данных для задания собрано минимальное API. БД SQLite, работает без ORM через библиотеку Microsoft.Data.Sqlite.
|
||||||
|
Приложение собрано в Docker-образ и развернуто по адресу <https://mindbox.cebotari.ru/>
|
||||||
|
|
||||||
## База данных
|
## База данных
|
||||||
### Таблица со списком категорий
|
- Таблица со списком категорий
|
||||||
```sql
|
```sql
|
||||||
CREATE TABLE categories(
|
CREATE TABLE categories(
|
||||||
category_id INT NOT NULL PRIMARY KEY,
|
category_id INT NOT NULL PRIMARY KEY,
|
||||||
category_name VARCHAR(10)
|
category_name VARCHAR(10)
|
||||||
);
|
);
|
||||||
```
|
```
|
||||||
### Таблица со списком продуктов
|
- Таблица со списком продуктов
|
||||||
```sql
|
```sql
|
||||||
CREATE TABLE products(
|
CREATE TABLE products(
|
||||||
product_id INT NOT NULL PRIMARY KEY,
|
product_id INT NOT NULL PRIMARY KEY,
|
||||||
product_name VARCHAR(10)
|
product_name VARCHAR(10)
|
||||||
);
|
);
|
||||||
```
|
```
|
||||||
### Таблица товара с категориями
|
- Таблица товара с категориями
|
||||||
```sql
|
```sql
|
||||||
CREATE TABLE grocery_store(
|
CREATE TABLE grocery_store(
|
||||||
product_id INT,
|
product_id INT,
|
||||||
@ -22,7 +26,7 @@ CREATE TABLE grocery_store(
|
|||||||
FOREIGN KEY (category_id) REFERENCES categories (category_id)
|
FOREIGN KEY (category_id) REFERENCES categories (category_id)
|
||||||
);
|
);
|
||||||
```
|
```
|
||||||
## Выбор всех пар "Имя продукта - Имя категории" (основное задание)
|
## Выбор пар "Имя продукта - Имя категории"
|
||||||
Запрос
|
Запрос
|
||||||
```sql
|
```sql
|
||||||
SELECT product_name AS product, category_name AS category FROM products
|
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
|
LEFT JOIN categories ON grocery_store.category_id = categories.category_id
|
||||||
ORDER BY product;
|
ORDER BY product;
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
```ps
|
```ps
|
||||||
Invoke-RestMethod https://mindbox.cebotari.ru/item -Method GET
|
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
|
```ps
|
||||||
Invoke-RestMethod https://mindbox.cebotari.ru/category -Method POST -Body (@{Id=5; Name="Black"} | ConvertTo-Json) -ContentType "application/json"
|
Invoke-RestMethod https://mindbox.cebotari.ru/category -Method POST -Body (@{Id=5; Name="Black"} | ConvertTo-Json) -ContentType "application/json"
|
||||||
```
|
```
|
||||||
### Добавление нового продукта
|
- Добавление нового товара
|
||||||
```ps
|
```ps
|
||||||
Invoke-RestMethod http://mindbox.cebotari.ru/product -Method POST -Body (@{Id=5; Name="Olives"} | ConvertTo-Json) -ContentType "application/json"
|
Invoke-RestMethod -Uri "https://mindbox.cebotari.ru/item?productId=5&categoryId=5" -Method POST
|
||||||
```
|
|
||||||
### Добавление новой нового товара
|
|
||||||
```ps
|
|
||||||
Invoke-RestMethod -Uri "http://mindbox.cebotari.ru/item?productId=5&categoryId=5" -Method POST
|
|
||||||
```
|
```
|
Reference in New Issue
Block a user