API de livros desenvolvida com Express e MongoDB, demonstrando um CRUD (Create, Read, Update e Delete) básico. 📝
- Node.js (12 >=);
- npm (Node Package Manager);
- Conhecimento básico em mongoDB e no ODM (Object Data Modeling) Mongoose;
- Clone o repositório:
git clone git@github.com:<username>/library-api.git
- Navegue até a pasta do repositório:
cd library-api
- Instale as dependências:
npm i
- Crie um cluster gratuito no MongoDB Atlas
para armazenar os dados exemplo do arquivo
seed.json
. Após criado, clique em Browse Collections, em seguida, em + Create Database, crie os campos de acordo com o Model emmodels/Book.js
do projeto e substitua a url informada emconfig/dbConnect.js
acessando o cluster, clicando emConnect
>Drivers
e por fim, copiando a url gerada.
Para rodar a API, insira o seguinte comando no terminal no diretório do projeto:
npm run dev
O servidor irá rodar no http://localhost:3000
(pu na porta da variável
de ambiente PORT
).
-
GET /books: Retorna todos os livros.
-
GET /books/search?publisher=(value): Retorna todos os livros de uma editora.
-
GET /books/:id: Retorna um livro pelo id informado.
-
POST /books: Cria um livro. O corpo da requisição precisa ter a seguinte estrutura:
{
"title": "<title_name>",
"author": "<author_name>",
"isbn": "<isbn_number>",
"publisher": "<publisher_name>",
"edition": 1, // opcional
"pages": 999 // opcional
}
- PUT /books/:id: Atualiza o livro referente ao id informado. O corpo da requisição precisa ter pelo menos um campo a ser atualizado, exceto o campo
_id
:
{
"title": "<title_name>",
}
- DELETE /books/:id: Deleta o livro referente ao id informado no path da requisição.
Feito com 💚 por Ana Beatriz Nunes