Проект на Spring Boot с базой данных PostgreSQL, демонстрирующий работу REST API для управления пользователями, книгами и займами.
- CRUD-операции с пользователями и книгами
- Создание и возврат займов книг
- Валидация входных данных
- Обработка ошибок
- Поддержка Liquibase для управлениям миграцаиями
- Документация через Swagger UI
- Контейнеризация с Docker Compose
Java 23, Spring Boot (Web, Data JPA, Validation), PostgreSQL, Liquibase, Lombok, Swagger/OpenAPI, Docker.
- User: id, name, email
- Book: id, title, author
- Loan: id, user_id, book_id, loan_date, return_date
-
Собрать проект с помощью Maven (можно использовать
mvnили скриптmvnw):mvn clean package -DskipTests
-
Запустить контейнеры (Spring Boot + PostgreSQL):
docker compose up --build
-
Использовать API напрямую через http://localhost:8080/api или через Swagger UI: http://localhost:8080/swagger-ui/index.html
POST /api/users— создать пользователяGET /api/users/{id}— получить пользователяg по IDPUT /api/users/{id}— обновить пользователя по IDDELETE /api/users/{id}— удалить пользователя по ID
POST /api/books— создать книгуGET /api/books/{id}— получить книгу по IDPUT /api/books/{id}— обновить книгу по IDDELETE /api/books/{id}— удалить книгу по ID
POST /api/loans— оформить займ книгиGET /api/loans/{id}— получить займ книги по IDPUT /api/loans/{id}— обновить займ книги по IDPATCH /api/loans/{id}/return— вернуть книгу по IDDELETE /api/loans/{id}— удалить займ по ID