Владимир Шалимов f18f1a1662 | ||
---|---|---|
.idea | ||
cli | ||
controllers | ||
database | ||
golang-test | ||
libs | ||
types | ||
validators | ||
Dockerfile | ||
docker-compose.yml | ||
entrypoint.sh | ||
go.mod | ||
go.sum | ||
main.go | ||
readme.md |
readme.md
Документация 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