quarta-feira, 9 de outubro de 2024

Criando sua primeira API de Gerenciamento de Tarefas com Flask (Python)


Fala pessoal, tudo bem?

Neste post, vamos criar uma API simples de gerenciamento de tarefas que pode ser executada localmente em qualquer sistema operacional. Usaremos o Flask, um framework leve para Python. Ao final, você terá uma API funcional que pode servir de ideia e um começo para implementar nos seus projetos.

Pré-requisitos

  • Python instalado em sua máquina.
    • Para verificar se o Python está instalado, execute python --version no terminal.

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!

Abs e até a próxima.
:wq!

Nenhum comentário:

Postar um comentário