Este repositório contém um projeto de biblioteca virtual desenvolvido com Spring Boot, com o objetivo de demonstrar como construir uma aplicação web com persistência de dados em MySQL e exposição de uma API REST. Este projeto é ideal para iniciantes que desejam aprender os conceitos básicos do Spring Boot e sua integração com banco de dados.
Na pasta biblioteca, temos o projeto Spring Boot com persistência no banco de dados e uma API REST separada para atender requisições externas. Esse projeto foi desenvolvido no Apache NetBeans IDE utilizando a arquitetura MVC para exemplificar como realizar o CRUD completo em um projeto Java na web e como criar uma API REST. Os endpoints foram inicialmente testados no Postman.
Já a pasta web-client possui um projeto separado construído para exemplificar como uma página externa se comunica com APIs REST através das requisições GET, POST, PUT e DELETE. Esse projeto foi construído usando o Visual Studio Code.
Este projeto foi desenvolvido como parte de uma atividade educacional e tem fins exclusivamente didáticos. Não é recomendado utilizá-lo em ambientes de produção.
O projeto foi criado utilizando o Spring Initialzr com as seguintes dependências:
- Spring Boot (Framework Java para aplicações web)
- Spring Data JPA (Integração com o banco de dados relacional)
- MySQL Driver (Conexão com banco de dados MySQL)
- Spring Web (Criação de APIs REST)
- Thymeleaf (Template engine para renderização de páginas HTML dinâmicas)
- Lombok (Redução de código boilerplate com anotações como @Data, @Getter, @Setter)
Certifique-se de ter instalado em seu sistema:
- Java 23 (ou superior)
- Apache NetBeans IDE
- MySQL Server
- Postman (ou outra ferramenta para testes de API)
Crie um banco de dados no MySQL com o seguinte comando:
CREATE DATABASE biblioteca;
Atualize as credenciais do banco no arquivo application.properties:
spring.datasource.url=jdbc:mysql://localhost:3306/biblioteca
spring.datasource.username=seu_usuario
spring.datasource.password=sua_senha
A API REST implementa operações CRUD para as entidades Livro e Comentário.
Método | Endpoint | Descrição |
---|---|---|
GET | /api/livro |
Lista todos os livros |
GET | /api/livro/{id} |
Obtém um livro pelo ID |
POST | /api/livro |
Adiciona um novo livro |
PUT | /api/livro/{id} |
Atualiza um livro existente |
DELETE | /api/livro/{id} |
Remove um livro pelo ID |
Método | Endpoint | Descrição |
---|---|---|
GET | /api/comentario/livro/{id} |
Lista todos os comentários de um livro |
POST | /api/comentario |
Adiciona um novo comentário |
PUT | /api/comentario/{id} |
Atualiza um comentário existente |
DELETE | /api/comentario/{id} |
Remove um comentário pelo ID |
📌 Dica: Caso queira explorar mais funcionalidades do Spring Boot, recomendo consultar a documentação oficial.