Este repositório apresenta uma API desenvolvida em Node.js, utilizando o ORM Sequelize para interagir com um banco de dados Postgres. A principal funcionalidade da API é realizar operações CRUD (Create, Read, Update, Delete) com os dados de livros armazenados no banco de dados.
-
Método: POST
-
URL:
/api/books
-
Descrição: Cria um novo livro com os detalhes fornecidos no corpo da requisição.
Corpo da Requisição (JSON):
{ "title": "string" (obrigatório), "author": "string" (obrigatório), "genre": "string" (obrigatório), "published_date": "YYYY-MM-DD", "summary": "string", "isbn": "string" }
-
Método: GET
-
URL:
/api/books
-
Descrição: Retorna uma lista de livros baseada nos parâmetros de consulta fornecidos.
Parâmetros da Query:
author
: Filtra livros pelo autortitle
: Filtra livros pelo títulogenre
: Filtra livros pelo gênerolimit
(opcional): Limita o número de resultadosoffset
(opcional): Offset para paginação dos resultados
Exemplo de Uso:
GET /api/books?author=Stephen&genre=Fiction&limit=5
-
Método: GET
-
URL:
/api/books/:id
-
Descrição: Retorna os detalhes de um livro específico pelo ID fornecido.
Parâmetros da Rota:
id
: ID único do livro (obrigatório)
-
Método: PUT
-
URL:
/api/books/:id
-
Descrição: Atualiza os detalhes de um livro específico identificado pelo ID.
Parâmetros da Rota:
id
: ID único do livro (obrigatório)
Corpo da Requisição (JSON):
{ "title": "string", "author": "string", "genre": "string", "published_date": "YYYY-MM-DD", "summary": "string", "isbn": "string" }
-
Método: DELETE
-
URL:
/api/books/:id
-
Descrição: Deleta um livro específico pelo ID fornecido.
Parâmetros da Rota:
id
: ID único do livro (obrigatório)
-
Clone o repositório:
git clone https://github.com/wandrey7/Books-API cd Books-API
-
Instale as dependências:
npm install
-
Configure as variáveis de ambiente:
Crie um arquivo
.env
na raiz do projeto e configure as variáveis necessárias citadas no .env.example -
Inicie a aplicação:
npm start
Contribuições são bem-vindas! Sinta-se à vontade para abrir uma issue ou enviar um pull request.
Este projeto está licenciado sob a Licença MIT.