todolist simple
| from flask import Flask |
| from flask_restful import reqparse, abort, Api, Resource |
| |
| app = Flask(__name__) |
| api = Api(app) |
| |
| TODOS = { |
| 'todo1': {'task': 'build an API'}, |
| 'todo2': {'task': '?????'}, |
| 'todo3': {'task': 'profit!'}, |
| } |
| |
| def abort_if_todo_doesnt_exist(todo_id): |
| if todo_id not in TODOS: |
| abort(404, message="Todo {} doesn't exist".format(todo_id)) |
| |
| parser = reqparse.RequestParser() |
| parser.add_argument('task') |
| |
| |
| |
| class Todo(Resource): |
| def get(self, todo_id): |
| abort_if_todo_doesnt_exist(todo_id) |
| return TODOS[todo_id] |
| |
| def delete(self, todo_id): |
| abort_if_todo_doesnt_exist(todo_id) |
| del TODOS[todo_id] |
| return '', 204 |
| |
| def put(self, todo_id): |
| args = parser.parse_args() |
| task = {'task': args['task']} |
| TODOS[todo_id] = task |
| return task, 201 |
| |
| |
| |
| |
| class TodoList(Resource): |
| def get(self): |
| return TODOS |
| |
| def post(self): |
| args = parser.parse_args() |
| todo_id = 'todo%d' % (len(TODOS) + 1) |
| TODOS[todo_id] = {'task': args['task']} |
| return TODOS[todo_id], 201 |
| |
| |
| |
| |
| api.add_resource(TodoList, '/todos') |
| api.add_resource(Todo, '/todos/<string:todo_id>') |
| |
| |
| if __name__ == '__main__': |
| app.run(debug=True) |
todolist
| from flask import Flask |
| from flask_restful import reqparse, abort, Api, Resource |
| |
| app = Flask(__name__) |
| api = Api(app) |
| |
| TODOS = { |
| 'todo1': {'task': 'build an API'}, |
| 'todo2': {'task': '?????'}, |
| 'todo3': {'task': 'profit!'}, |
| } |
| |
| def abort_if_todo_doesnt_exist(todo_id): |
| if todo_id not in TODOS: |
| abort(404, message="Todo {} doesn't exist".format(todo_id)) |
| |
| parser = reqparse.RequestParser() |
| parser.add_argument('task') |
| |
| |
| |
| class Todo(Resource): |
| def get(self, todo_id): |
| abort_if_todo_doesnt_exist(todo_id) |
| return TODOS[todo_id] |
| |
| def delete(self, todo_id): |
| abort_if_todo_doesnt_exist(todo_id) |
| del TODOS[todo_id] |
| return '', 204 |
| |
| def put(self, todo_id): |
| args = parser.parse_args() |
| task = {'task': args['task']} |
| TODOS[todo_id] = task |
| return task, 201 |
| |
| |
| |
| |
| class TodoList(Resource): |
| def get(self): |
| return TODOS |
| |
| def post(self): |
| args = parser.parse_args() |
| todo_id = 'todo%d' % (len(TODOS) + 1) |
| TODOS[todo_id] = {'task': args['task']} |
| return TODOS[todo_id], 201 |
| |
| |
| |
| |
| api.add_resource(TodoList, '/todos') |
| api.add_resource(Todo, '/todos/<string:todo_id>') |
| |
| |
| if __name__ == '__main__': |
| app.run(debug=True) |
| |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战