Uma API RESTful eficiente para catalogação e controle de acervo bibliográfico, utilizando a robustez do Spring Data JPA.
O BooksJPA é um sistema backend desenvolvido para demonstrar a implementação de operações CRUD (Create, Read, Update, Delete) seguindo os padrões REST.
O foco principal do projeto é a utilização do Spring Data JPA para abstrair a complexidade das consultas SQL, permitindo manipulação de dados de forma orientada a objetos, com persistência ágil em banco de dados em memória (H2) para fins de desenvolvimento e testes rápidos.
- Spring Boot: Framework core para inicialização rápida e configuração automática.
- Spring Data JPA: Camada de persistência para integração facilitada com bancos de dados.
- H2 Database: Banco de dados em memória (In-Memory), ideal para prototipagem sem necessidade de instalações complexas.
- Maven: Gerenciador de dependências e automação de build.
- Lombok (Opcional): Para redução de código boilerplate (Getters/Setters).
A aplicação disponibiliza os seguintes endpoints para consumo:
| Método | Rota | Descrição |
|---|---|---|
GET |
/livros |
Lista todos os livros cadastrados |
GET |
/livros/{isbn} |
Busca detalhes de um livro específico pelo ISBN |
POST |
/livros |
Cadastra um novo livro no acervo |
PUT |
/livros/{isbn} |
Atualiza os dados de um livro existente |
DELETE |
/livros/{isbn} |
Remove um livro do sistema |
Para as requisições de POST (Criação) e PUT (Atualização), utilize o seguinte formato:
{
"titulo": "Arquitetura Limpa",
"autor": "Robert C. Martin",
"isbn": 123456789,
"genero": "Tecnologia",
"preco": 89.90
}
- Java JDK 17 ou superior.
- Maven instalado.
- Clone o repositório:
git clone [https://github.com/seu-usuario/books-jpa.git](https://github.com/seu-usuario/books-jpa.git)
- Acesse a pasta do projeto:
cd books-jpa
- Execute a aplicação:
mvn spring-boot:run
💾 Acessando o Banco H2 Como o projeto utiliza o banco H2 em memória, você pode visualizar os dados diretamente no navegador enquanto a aplicação estiver rodando.
- Acesse:
http://localhost:8080/h2-console - JDBC URL:
jdbc:h2:mem:testdb(ou verifique seuapplication.properties) - User:
sa - Password: (deixe em branco)