Este projeto é uma aplicação Flask que fornece uma API RESTful para o gerenciamento de uma coleção de livros em uma biblioteca. Utilizando Flask, Flask-SQLAlchemy com SQLite como banco de dados, e Flask-HTTPAuth para autenticação, permite aos usuários realizar operações CRUD (criar, ler, atualizar e deletar livros) através de endpoints HTTP, com a exigência de autenticação para operações que alteram os dados.
- CRUD de Livros com Autenticação: Crie, leia, atualize e delete livros usando a API REST. Operações de criação, atualização e exclusão exigem autenticação.
- Autenticação de Usuários: Acesso controlado às operações de manipulação de livros através de autenticação básica HTTP.
- Armazenamento com SQLite: Facilita o armazenamento e recuperação de dados de livros.
- Feedback ao Usuário: Fornece respostas claras e informativas para as ações do usuário.
- Flask
- Flask-SQLAlchemy
- SQLite
- Flask-HTTPAuth
- Python 3.6 ou superior
- pip
- Clone o repositório para sua máquina local:
git clone <URL do repositório>
- Navegue até o diretório do projeto:
cd <nome do diretório do projeto>
- Instale as dependências necessárias:
pip install flask flask_sqlalchemy flask_httpauth
-
Antes de iniciar o servidor, defina os usuários e senhas para autenticação. Nota: O exemplo no código utiliza um método simples para fins de demonstração. Em produção, utilize métodos mais seguros para gerenciar usuários e senhas.
-
Inicie o servidor Flask executando:
python app.py
- A aplicação agora estará rodando em http://localhost:5000/. Você pode acessar os endpoints definidos utilizando um cliente HTTP como Postman ou via curl, fornecendo as credenciais de usuário quando necessário.
- POST /livro (Protegido): Adiciona um novo livro. Requer autenticação. Exemplo de corpo da requisição:
{"titulo": "Novo Livro", "autor": "Autor"}
. - GET /livros: Retorna uma lista de todos os livros.
- GET /livro/: Retorna detalhes de um livro específico.
- PUT /livro/ (Protegido): Atualiza um livro existente. Requer autenticação. Exemplo de corpo da requisição:
{"titulo": "Livro Atualizado", "autor": "Autor Atualizado"}
. - DELETE /livro/ (Protegido): Deleta um livro específico. Requer autenticação.
Para testar endpoints protegidos com autenticação no Postman:
- Abra o Postman e crie uma nova requisição.
- Selecione o tipo de requisição (POST, PUT, DELETE) e insira o URL do endpoint.
- Na aba "Authorization", selecione o tipo "Basic Auth" e insira as credenciais de usuário.
- Configure o corpo da requisição conforme necessário e envie a requisição.
Contribuições são muito bem-vindas! Por favor, leia o CONTRIBUTING.md para mais detalhes sobre nosso código de conduta, e o processo para enviar pedidos de pull.
Este projeto é licenciado sob a Licença MIT - veja o arquivo LICENSE.md para detalhes.