api-livros

Documentação da API Livros

🔍 Descrição

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.

📝 Requisitos

✨ Instalação

Usando pip

  1. Clone o repositório ou baixe os arquivos da API.
  2. Crie um ambiente virtual:
    python3 -m venv venv
    
  3. Ative o ambiente virtual:
    • No Linux/MacOS:
      source venv/bin/activate
      
    • No Windows:
      venv\Scripts\activate
      
  4. Instale as dependências:
    pip install -r requirements.txt
    

Usando Poetry

  1. Clone o repositório ou baixe os arquivos da API.
  2. Instale as dependências:
    poetry install
    

💪 Configuração Inicial

Nenhuma configuração adicional é necessária. O banco de dados SQLite (database.db) será criado automaticamente na primeira execução.

🚀 Como Executar a API

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

🛠️ Rotas Disponíveis

| Método | Endpoint | Descrição | |———|———–|————| | GET | / | Página inicial da API | | POST | /livros | Cadastrar um novo livro | | GET | /livros | Listar todos os livros cadastrados |


📚 Endpoints

🔖 Home


➕ Cadastrar Livro

Corpo 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:


📖 Listar Livros

Respostas:


💳 Estrutura do 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

📊 Validações

📂 Exemplos de Uso

➕ Cadastrar um Livro

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"
  }
}

📖 Listar Todos os Livros

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"
    }
  ]
}

🌟 Contribuição

Se você deseja contribuir com este projeto, fique à vontade para abrir um Pull Request!

⚖️ Licença

Este projeto está sob a licença MIT.