Skip to content

gustavorsmedina/books-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Books API 📖

☕ Tecnologias utilizadas:

  • Java
  • Spring Boot
  • Spring Data JPA
  • MySQL
  • Flyway
  • JUnit 5
  • Mockito
  • Swagger
  • Docker

Diagrama 🗺️

Docker Solution


⚙️ Passo a passo

1 - Instale o Docker em sua máquina.

2 - Abra o terminal na pasta raiz do projeto e execute o seguinte comando:

docker compose up

  • A primeira vez que você usar o comando docker compose up -d, todas as imagens necessárias para a aplicação serão baixadas para rodar em sua máquina. Em poucos minutos, a aplicação estará em funcionamento.
  • Você pode verificar se ambos os containers já estão em execução usando o comando docker ps.

3 - Após terminar a configuração, inicie a aplicação e ela estará disponível em:


📨 Requisições

Autores

Método Url Descrição Corpo da requisição
POST /v1/authors Crie um novo autor. JSON
GET /v1/authors/{id} Busque um autor por id.
GET /v1/authors Busque todos autores.
GET /v1/authors/search&name={name} Busque autores pelo nome.
PUT /v1/authors/{id} Atualize um autor por id. JSON
DELETE /v1/authors/{id} Apague um autor por id.

Livros

Método Url Description Corpo da requisição
POST /v1/books Crie um novo livro. JSON
GET /v1/books/{id} Busque um livro por id.
GET /v1/books Busque todos os livros.
GET /v1/books/search&name={name} Busque livros pelo nome.
GET /v1/books/genre/{genre} Filtre livros pelo genêro.
PUT /v1/books/{id} Atualize um livro por id. JSON
DELETE /v1/books/{id} Apague um livro por id.

📄 Corpo das requisições

{
  "name": "Some name",
  "pages": 100,
  "genre": "COMEDY",
  "synopsis": "Some synopsis",
  "publicationDate": "2024-01-01",
  "isbn": "123-456",
  "authorId": 1
}
{
  "name": "Some name",
  "pages": 100,
  "genre": "FANTASY",
  "synopsis": "Some synopsis",
  "publicationDate": "2024-01-01",
  "isbn": "123-456",
  "authorId": 1
}
{
  "name": "Some name",
  "pages": 100,
  "genre": "COMEDY",
  "synopsis": "Some synopsis",
  "publicationDate": "2024-01-01",
  "isbn": "123-456",
  "authorId": 1
}
{
  "name": "Some name",
  "pages": 100,
  "genre": "FANTASY",
  "synopsis": "Some synopsis",
  "publicationDate": "2024-01-01",
  "isbn": "123-456",
  "authorId": 1
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published