Простое REST API для управления книгами с использованием Go, Gin, GORM и PostgreSQL.
- POST /books - Создание новой книги
- GET /books - Получение списка всех книг
- GET /ping - Проверка работоспособности
- GET /newping - Дополнительная проверка
{
"id": 1,
"title": "Название книги",
"author": "Автор книги",
"isbn": "978-3-16-148410-0",
"created_at": "2025-09-20T10:00:00Z",
"updated_at": "2025-09-20T10:00:00Z"
}Приложение автоматически определяет хост PostgreSQL:
- Сначала пытается подключиться к postgres (для Docker окружения)
- Если не удается, подключается к localhost (для локального запуска)
Параметры подключения:
- Port: 5432
- User: postgres
- Password: postgres
- Database: cicd_learn
# Запуск PostgreSQL и приложения
docker-compose up -d
# Остановка
docker-compose down# Установка зависимостей
go mod tidy
# Компиляция
go build -o app .
# Запуск (убедитесь, что PostgreSQL запущен)
./appcurl -X POST http://localhost:8080/books \
-H "Content-Type: application/json" \
-d '{
"title": "Война и мир",
"author": "Лев Толстой",
"isbn": "978-5-17-084161-1"
}'curl http://localhost:8080/bookscurl http://localhost:8080/ping
curl http://localhost:8080/newping- Go - язык программирования
- Gin - веб-фреймворк
- GORM - ORM для работы с базой данных
- PostgreSQL - база данных
- Docker - контейнеризация