2018-08-06
Flask_restful 开发指南
- http://flask-restful.readthedocs.io/en/latest/quickstart.html#full-example
代码节选自《python实现RESTful服务(基于flask-restful)》
原作者:VellBibi
链接:https://www.jianshu.com/p/6ac1cab17929
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
这里修改和简化了id处理逻辑, 以下是改动之后的demo.py样例代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-from flask import Flask
from flask_restful import reqparse, abort, Api, Resourceapp = Flask(__name__)
api = Api(app)TODOS = {1: {'task': 'build an API'},2: {'task': '哈哈哈'},3: {'task': 'profit!'},
}
current_max_todo_id = max(TODOS) # assert isinstance(current_max_todo_id, int) parser = reqparse.RequestParser()
parser.add_argument('task')class Todo(Resource):def get(self, todo_id):global TODOSif todo_id not in TODOS:abort(404, message="todo item {} doesn't exist".format(todo_id))return TODOS[todo_id]def delete(self, todo_id):global TODOSif todo_id not in TODOS:abort(404, message="todo item {} doesn't exist".format(todo_id))del TODOS[todo_id]return '', 204def put(self, todo_id):global TODOSglobal parserglobal current_max_todo_idargs = parser.parse_args()TODOS[todo_id] = {'task': args.get('task', '')}current_max_todo_id = max(todo_id, current_max_todo_id)return task, 201class TodoList(Resource):def get(self):global TODOSreturn TODOSdef post(self):global TODOSglobal parserargs = parser.parse_args()todo_id = self.get_next_todo_id()TODOS[todo_id] = {'task': args.get('task', '')}return TODOS[todo_id], 201def get_next_todo_id(self):global current_max_todo_idcurrent_max_todo_id += 1return current_max_todo_idapi.add_resource(TodoList, '/todos')
api.add_resource(Todo, '/todos/<int:todo_id>')if __name__ == '__main__':app.run(debug=True)
2018-08-06相关推荐
- 新手C#面向对象的学习2018.08.06
class Person//声明一个Person类 {//类中的声明与Main中不同,类中声明的是字段而不是函数.public string gender;public string name=&qu ...
- 新手C#string类常用函数的学习2018.08.04
ToLower()用于将字符串变为小写,注意字符串的不可变特性,需要重新赋值给另一个字符串变量. s = s.ToLower();//字符串具有不可变性,转换后需要重新赋值,不可仅有s.ToLower ...
- 【跃迁之路】【425天】刻意练习系列184—SQL(2018.04.06)
@(跃迁之路)专栏 叨叨两句 技术的精进不能只是简单的刷题,而应该是不断的"刻意"练习 该系列改版后正式纳入[跃迁之路]专栏,持续更新 刻意练习--MySQL 2018.04.02 ...
- DayDayUp:2018年06月07日高考必胜:程序猿的方式祝福莘莘学子高考必胜!
DayDayUp:2018年06月07日高考必胜:程序猿的方式祝福莘莘学子高考必胜! 导读 程序猿的方式祝福莘莘学子高考必胜!祝愿2018高考学子:理想,信仰,使命,2018高考,你终 ...
- 2018.08.20高二互测
2018.08.20 NOIp模拟赛 GKK大佬出的毒瘤题,烧脑.全是原题就不要密码保护了. 第一题 T1链接 一张图,每条边有代价也有限制,遍历过的点可以解锁这些限制,求最短路.这是一道套路题, ...
- ETH:2018年06月03日《ETH技术及其应用大会》总结(转自CSDN灵钛科技)
个人感悟:V神是94年的,我是早知道的,但,ETH的PoS 开发者Karl Floersch竟然才23岁!!!!!!我是惊呆了!相比V神的腼腆(闲庭信步),Karl是相当幽默和无所畏惧,我天,他真的可 ...
- 2020.08.06狂人日记:Python项目转C#项目问题
2020.08.06狂人日记:Python项目转C#项目问题 C#学习笔记 问题及解决 C#学习笔记 下拉选框中,在界面加入的元素集合和代码中写入的元素集合不会覆盖,即便有相同的元素也不会覆盖,代码中 ...
- 大学英语b和计算机三级,大学英语三级B真题2018年06月
大学英语三级(B)真题2018年06月 Part ⅠListening Comprehension Directions: This part is to test your listening ab ...
- 蒲公英 Ghost Win10(x86/x64)装机版/纯净版 2018.08
32位装机版 File:GhostWin10x86z_PGYv201808New.iso Size:5.12G MD5:C7B293BCECF0FF2310C22544F2C5B746 下载地址(请把 ...
- 【新书推荐】【2018.08】电子防御系统概论(第三版)
[2018.08]电子防御系统概论(第三版)Introduction to Electronic Defense Systems, Third Edition,共761页. 如果需要电子版,请联系QQ ...
最新文章
- session过期重新登陆_深入分析Session和Cookie-前端面试题
- PTA学生成绩排序-C语言详解
- Java 9进入第一轮问题修复阶段
- 前端学习(1263):post方式的参数传递
- centos中安装、升级git
- 精准 iOS 内存泄露检测工具
- Git 基础(八)—— 分支管理
- Android widget开发有感
- WebStorage篇
- `Shell`高级编程 Day02 —— Shell脚本初步入门
- win10下, ColorPix取色器错位 指针偏移问题 解决方法
- ListView刷新某一项Item
- kb4524157安装失败_KB4551762安装失败怎么办_KB4551762更新无法安装解决方法 - 系统家园...
- 基于中国天气网的数据库设计与开发(python+MySQL)
- 7月11号,大连小雨
- uva1589 Xiangqi
- map集合用于存储信息(映射关系)
- Java实现 LeetCode 521 最长特殊序列 Ⅰ(出题人:“就是喜欢看你们不敢相信那么简单,又不敢提交的样子。”)
- delphi创建excel写入数据并创建二维折线图
- asp_net2_0学习指导 菜鸟到中级程序员的飞跃
热门文章
- activiti 作业执行器定时开始事件
- 扑克牌自定义排序,使用集合TreeSet实现实体对象排序,通过实现Comparable接口,重写compareTo比较器;
- 计算机系统集成 行业标准,行业标准信息服务平台
- IoT:加密与安全:几种常用安全加密算法原理与用途解析
- java10个整数反向输出_输入一个整数,实现反转输出,如输入123,输出321。
- 品优购案例之横向列表伪元素的应用
- three.js 键盘w、s、a、d控制几何体移动
- THREEJS - 模型的裁切消隐
- Mysql 电商常用的时间操作(当天,昨天,7天,30天,半年,全年,季度等等)...
- 【李宏毅2020 ML/DL】P4 Basic Concept