Para iniciar o projeto é necessário acessar o site https://start.spring.io/ para criar um projeto Spring Boot Java Maven e adicionar as dependências:
Essas dependências facilitam o processo de desonvolvimento da aplicação.
model
?O pacote model
contém as entidades do domínio da aplicação — ou seja, as classes que representam os dados principais e suas relações no mundo real. Essas classes são anotadas com as anotações do JPA (@Entity
, @ManyToMany
, etc.) para permitir o mapeamento direto com tabelas no banco de dados PostgreSQL.
Autor.java
Representa um autor literário.
@Entity
e @Table("autores")
: indica que será uma tabela no banco.@ManyToMany(mappedBy = "autores")
: define a relação bidirecional com Livro
.id
: chave primária gerada automaticamente.nome
, anoNascimento
, anoFalecimento
: informações do autor.livros
: conjunto de livros escritos pelo autor.Livro.java
Representa um livro disponível na API Gutendex.
@Entity
e @Table("livros")
: classe será uma tabela.@ManyToMany
: ligação com os autores por meio da tabela intermediária livro_autor
.@ElementCollection
: mapeia o mapa formats
como uma tabela separada para formatos e URLs.id
: reutiliza o ID da API do Gutendex.titulo
, idioma
, downloads
: propriedades principais do livro.autores
: conjunto de autores vinculados ao livro.resumo
: trecho do texto da obra (coluna maior).formats
: mapa com os formatos disponíveis (ex: "image/jpeg" → url"
).