A REST API for managing library users, books, and magazines built with Spring Boot.
- User Management: Add, update, delete, and view library users
- Item Management: Manage books and magazines in the library
- REST API: Full CRUD operations via HTTP endpoints
- Java 24
- Spring Boot 3.4.4
- Spring Data JPA
- Hibernate
- Microsoft SQL Server
- Maven
- Lombok
GET /user/getAll- Get all usersPOST /user/add- Add new userPUT /user/update/{id}- Update userDELETE /user/delete/{id}- Delete user
GET /item/getAll- Get all itemsPOST /item/add- Add new itemPUT /item/update/{id}- Update itemDELETE /item/delete/{id}- Delete item
Configure your SQL Server connection in application.properties:
spring.datasource.url=jdbc:sqlserver://[server];database=[database_name];trustServerCertificate=true;
spring.datasource.username=[username]
spring.datasource.password=[password]- Clone the repository:
git clone https://github.com/MiriAppel/spring-library-api.git cd spring-library-api - Configure database connection in
application.properties - Run the application:
mvn spring-boot:run
- Access the API at
http://localhost:8080
Built using layered architecture with clear separation of concerns:
- Controllers - Handle HTTP requests and responses
- Services - Business logic and validation
- Repositories - Data access layer with JPA
- Entities - Domain models with inheritance (Book/Magazine extend Item)
src/main/java/com/example/SpringProject/
├── controllers/ # REST controllers
├── entities/ # JPA entities
├── repositories/ # Data repositories
└── services/ # Business logic