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
|
||||
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
|
||||
```
|
Reference in New Issue
Block a user