A API Livros é uma API REST simples para gerenciamento de livros, desenvolvida com Flask e SQLite. Permite cadastrar novos livros, listar os livros cadastrados e consultar informações de cada livro.
requirements.txt ou pyproject.tomlpippython3 -m venv venv
source venv/bin/activate
venv\Scripts\activate
pip install -r requirements.txt
Poetrypoetry install
Nenhuma configuração adicional é necessária. O banco de dados SQLite (database.db) será criado automaticamente na primeira execução.
Execute o seguinte comando para iniciar a API:
python app.py
Ou, caso esteja usando Flask CLI:
flask run
A API estará disponível em: http://127.0.0.1:5000
| Método | Endpoint | Descrição |
|———|———–|————|
| GET | / | Página inicial da API |
| POST | /livros | Cadastrar um novo livro |
| GET | /livros | Listar todos os livros cadastrados |
/GET/livrosPOSTCorpo da Requisição (JSON):
{
"titulo": "Título do livro",
"categoria": "Categoria do livro",
"autor": "Nome do autor",
"imagem_url": "https://url-da-imagem.com"
}
Respostas:
201 Created: Livro cadastrado com sucesso.400 Bad Request: Dados inválidos ou incompletos.500 Internal Server Error: Erro ao acessar o banco de dados./livrosGETRespostas:
200 OK: Lista de livros retornada com sucesso.500 Internal Server Error: Erro ao acessar o banco de dados.Tabela: livros
| Campo | Tipo | Descrição |
|---|---|---|
id |
INTEGER | ID do livro (chave primária) |
titulo |
TEXT | Título do livro |
categoria |
TEXT | Categoria do livro |
autor |
TEXT | Nome do autor |
imagem_url |
TEXT | URL da imagem de capa |
http:// ou https://.Requisição:
POST /livros
Content-Type: application/json
{
"titulo": "O Senhor dos Anéis",
"categoria": "Fantasia",
"autor": "J.R.R. Tolkien",
"imagem_url": "https://example.com/capa.jpg"
}
Resposta:
{
"mensagem": "Livro cadastrado com sucesso",
"livro": {
"id": 1,
"titulo": "O Senhor dos Anéis",
"categoria": "Fantasia",
"autor": "J.R.R. Tolkien",
"imagem_url": "https://example.com/capa.jpg"
}
}
Requisição:
GET /livros
Resposta:
{
"livros": [
{
"id": 1,
"titulo": "O Senhor dos Anéis",
"categoria": "Fantasia",
"autor": "J.R.R. Tolkien",
"imagem_url": "https://example.com/capa.jpg"
},
{
"id": 2,
"titulo": "Harry Potter e a Pedra Filosofal",
"categoria": "Fantasia",
"autor": "J.K. Rowling",
"imagem_url": "https://example.com/capa2.jpg"
}
]
}
Se você deseja contribuir com este projeto, fique à vontade para abrir um Pull Request!
Este projeto está sob a licença MIT.