45 lines
2.4 KiB
Markdown
45 lines
2.4 KiB
Markdown
|
# Документация API
|
|||
|
|
|||
|
## Обзор
|
|||
|
Этот проект представляет собой RESTful API для управления товарами, производителями и пользователями. В качестве ORM используется GORM.
|
|||
|
|
|||
|
## Endpoints
|
|||
|
|
|||
|
### Товары
|
|||
|
|
|||
|
- **POST /product** - Создание нового товара. Требуется JSON с данными товара.
|
|||
|
- **DELETE /product/:id** - Удаление товара по идентификатору.
|
|||
|
- **GET /product** - Получение списка всех товаров.
|
|||
|
- **GET /product/:id** - Получение информации о конкретном товаре.
|
|||
|
- **GET /product/:id/buy** - Покупка товара по идентификатору.
|
|||
|
|
|||
|
### Производители
|
|||
|
|
|||
|
- **POST /manufacturer** - Создание нового производителя. Требуется JSON с данными производителя.
|
|||
|
- **DELETE /manufacturer/:id** - Удаление производителя по идентификатору.
|
|||
|
- **GET /manufacturer** - Получение списка всех производителей.
|
|||
|
- **PATCH /manufacturer/:id** - Редактирование данных производителя. Требуется JSON с изменениями.
|
|||
|
|
|||
|
### Пользователи
|
|||
|
|
|||
|
- **POST /registration** - Регистрация нового пользователя. Требуется JSON с данными пользователя.
|
|||
|
- **POST /login** - Вход пользователя. Требуется JSON с данными для входа.
|
|||
|
- **GET /user** - Получение данных текущего пользователя.
|
|||
|
- **PATCH /user** - Редактирование имени пользователя. Требуется JSON с новым именем.
|
|||
|
- **POST /user/addmoney** - Добавление денег на счет пользователя. Требуется JSON с суммой.
|
|||
|
- **GET /user/products** - Получение списка купленных пользователем товаров.
|
|||
|
|
|||
|
## Запуск сервера
|
|||
|
|
|||
|
Сервер запускается в докер контейнере
|
|||
|
|
|||
|
Сначала нужно собрать image командой:
|
|||
|
```
|
|||
|
docker build -t ravonzz/go-testapi .
|
|||
|
```
|
|||
|
|
|||
|
Затем можно запускать контейнер вместе с БД Postgresql командой:
|
|||
|
```
|
|||
|
docker-compose up -d
|
|||
|
```
|