/book-store-api

Projeto consiste na criação de uma api para uma biblioteca, onde os livros serão cadastrados, atualizados e deletados. Cada livro terá uma categoria associada, onde para cadastrar um livro deverá preexistir uma categoria para o mesmo.

Primary LanguageJava

Book Store Api

Descrição do Projeto

Projeto consiste na criação de uma api para uma biblioteca, onde os livros serão cadastrados, atualizados e deletados.

Cada livro terá uma categoria associada, onde para cadastrar um livro deverá preexistir uma categoria para o mesmo.

Após excutado o projeto localmente, para ver a documentação acesse: swagger

End-Points do Projeto

Para Livros

  • [GET] consultar todos os livros: {url}/book/books

  • [GET] consultar 1 livro especifico, passar id por parametro na requisição: {url}/book/{id}

  • [GET] consultar livros por categoria, passar id de categoria query ex: {url}/book?category=1

  • [POST] criar Livro, passar id de categoria no corpo da requisição: {url}/book/create

{
    "title": "type string",
    "author": "type string",
    "text": "type string",
    "categoryId": "type long",
}
  • [PutORPatch] atualizar Livro, passar id do livro por parametro da requisição: {url}/book/update/{id}
{
    "title": "type string",
    "author": "type string",
    "text": "type string",
}
  • [DELETE] deletar Livro, passar id do livro por parametro da requisição: {url}/book/delete/{id}

Para Categoria

  • [GET] consultar todas as categorias: {url}/category/categories

  • [GET] consultar 1 categoria especifica, passar id por parametro na requisição: {url}/category/{id}

  • [GET] consultar categoria, sem retornar lista de livros: {url}/category

  • [POST] criar Categoria: {url}/category/create

{
    "name": "type string",
    "description": "type string",
}
  • [Put] atualizar Categoria, passar id da Categoria parametro da requisição: {url}/category/update/{id}
{
    "name": "type string",
    "description": "type string",
}
  • [DELETE] deletar Categoria, passar id da categoria parametro da requisição: {url}/category/delete/{id}

Descrição da Api

Executar Api localmente:

  • Para clonar o projeto: git clone https://github.com/TaylanTorres09/book-store-api.git

  • Para Executar o projeto precisasse:

    • Java JDK. Este projeto está usando a versão 17.
    • Para perfil de Teste, Banco H2 utilizado em memória, coloquei neste pois é um banco de fácil configuração e utilização.
    • Para perfil de Produção, Banco MySQL.
  • Extensões do vscode utilizadas:

  • Para seleção do perfil test para perfil de teste e dev para perfil de desenvolvimento. ApplicationProperties

  • Configuração do banco de dados de Teste.

ApplicationProperties

  • Configuração do banco de dados de Dev.

ApplicationProperties

  • Na pasta src/main, execute o arquivo BookstoreApplication.java

BookstoreApplication

  • Após executado o projeto acesse swagger para ver documentação.

Swagger

  • Para testar a api você pode utilizar ferramentas de client como:

Próximos Passos

  • Fazer interfaces no front-end.
  • Implementar Cobertura de testes.

Autor