-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.py
More file actions
55 lines (38 loc) · 1.45 KB
/
Copy pathapp.py
File metadata and controls
55 lines (38 loc) · 1.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
from flask import Flask, jsonify, request
app = Flask(__name__)
tarefas = ["Estudar Python", "Treinar", "Ler livro"]
@app.route("/")
def home():
return "API de Tarefas funcionando!"
# GET - listar tarefas
@app.route("/tarefas", methods=["GET"])
def listar_tarefas():
return jsonify(tarefas)
# POST - criar tarefa
@app.route("/tarefas", methods=["POST"])
def criar_tarefa():
dados = request.get_json()
if not dados or "tarefa" not in dados:
return jsonify({"erro": "Envie uma tarefa válida"}), 400
nova_tarefa = dados.get("tarefa")
tarefas.append(nova_tarefa)
return jsonify({"mensagem": "Tarefa adicionada com sucesso!"})
# PUT - atualizar tarefa
@app.route("/tarefas/<int:indice>", methods=["PUT"])
def atualizar_tarefa(indice):
if indice < 0 or indice >= len(tarefas):
return jsonify({"erro": "Índice inválido"}), 404
dados = request.get_json()
if not dados or "tarefa" not in dados:
return jsonify({"erro": "Envie uma tarefa válida"}), 400
tarefas[indice] = dados["tarefa"]
return jsonify({"mensagem": "Tarefa atualizada com sucesso!"})
# DELETE - deletar tarefa
@app.route("/tarefas/<int:indice>", methods=["DELETE"])
def deletar_tarefa(indice):
if indice < 0 or indice >= len(tarefas):
return jsonify({"erro": "Índice inválido"}), 404
tarefas.pop(indice)
return jsonify({"mensagem": "Tarefa removida com sucesso!"})
if __name__ == "__main__":
app.run(debug=True)