Pré-requisitos
- Python instalado em sua máquina.
- Para verificar se o Python está instalado, execute
python --version
no terminal.
- Para verificar se o Python está instalado, execute
Estrutura do projeto
Criamos uma pasta para o projeto, que conterá os arquivos da API.
Criando a API de Gerenciamento de Tarefas com Flask
1. Criar e ativar um ambiente virtual
No terminal, navegue até a pasta do projeto e execute:
python -m venv venv source venv/bin/activate # Para MacOS/Linux venv\Scripts\activate # Para Windows
2. Instalar o Flask
Com o ambiente virtual ativado, instale o Flask:
pip install Flask
3. Criar a aplicação
Crie um arquivo chamado app.py
e adicione o seguinte código:
from flask import Flask, jsonify, request
app = Flask(__name__)
# Lista de tarefas (em memória)
tasks = []
@app.route('/api/tasks', methods=['GET'])
def get_tasks():
return jsonify(tasks)
@app.route('/api/tasks', methods=['POST'])
def add_task():
task = request.json
tasks.append(task)
return jsonify(task), 201
@app.route('/api/tasks/<int:task_id>', methods=['PUT'])
def update_task(task_id):
task = next((t for t in tasks if t.get('id') == task_id), None)
if task:
task.update(request.json)
return jsonify(task)
return jsonify({'error': 'Task not found'}), 404
@app.route('/api/tasks/<int:task_id>', methods=['DELETE'])
def delete_task(task_id):
global tasks
tasks = [t for t in tasks if t.get('id') != task_id]
return jsonify({'result': 'Task deleted'})
if __name__ == '__main__':
app.run(debug=True)
4. Rodar a aplicação
Execute no terminal:
python app.py
Acesse a API em http://127.0.0.1:5000/api/tasks
Como podemos ver, a aplicação ainda está vazia e sem nenhuma task criadas. Por isso ela não irá apresentar nenhum dado.
Como testar a API com cURL
Você pode usar o cURL
no terminal para interagir com a API:
- Obter a lista de tarefas:
curl -X GET http://127.0.0.1:5000/api/tasks
- Adicionar uma nova tarefa:
curl -X POST http://127.0.0.1:5000/api/tasks -H "Content-Type: application/json" -d '{"id": 1, "task": "Learn Flask"}'
- Atualizar uma tarefa existente:
curl -X PUT http://127.0.0.1:5000/api/tasks/1 -H "Content-Type: application/json" -d '{"task": "Learn Flask with more features"}'
- Deletar uma tarefa:
curl -X DELETE http://127.0.0.1:5000/api/tasks/1
Neste post, você aprendeu a criar uma API de gerenciamento de tarefas usando Flask. Também viu como testar a API usando cURL
. Na próxima postagem, vamos abordar como versionar esse código utilizando Git e GitHub/GitLab.
Se tiver alguma dúvida, sinta-se à vontade para deixar nos comentários!
:wq!
Nenhum comentário:
Postar um comentário