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相关推荐

  1. 新手C#面向对象的学习2018.08.06

    class Person//声明一个Person类 {//类中的声明与Main中不同,类中声明的是字段而不是函数.public string gender;public string name=&qu ...

  2. 新手C#string类常用函数的学习2018.08.04

    ToLower()用于将字符串变为小写,注意字符串的不可变特性,需要重新赋值给另一个字符串变量. s = s.ToLower();//字符串具有不可变性,转换后需要重新赋值,不可仅有s.ToLower ...

  3. 【跃迁之路】【425天】刻意练习系列184—SQL(2018.04.06)

    @(跃迁之路)专栏 叨叨两句 技术的精进不能只是简单的刷题,而应该是不断的"刻意"练习 该系列改版后正式纳入[跃迁之路]专栏,持续更新 刻意练习--MySQL 2018.04.02 ...

  4. DayDayUp:2018年06月07日高考必胜:程序猿的方式祝福莘莘学子高考必胜!

    DayDayUp:2018年06月07日高考必胜:程序猿的方式祝福莘莘学子高考必胜! 导读         程序猿的方式祝福莘莘学子高考必胜!祝愿2018高考学子:理想,信仰,使命,2018高考,你终 ...

  5. 2018.08.20高二互测

    2018.08.20 NOIp模拟赛 GKK大佬出的毒瘤题,烧脑.全是原题就不要密码保护了. 第一题 T1链接 ​ 一张图,每条边有代价也有限制,遍历过的点可以解锁这些限制,求最短路.这是一道套路题, ...

  6. ETH:2018年06月03日《ETH技术及其应用大会》总结(转自CSDN灵钛科技)

    个人感悟:V神是94年的,我是早知道的,但,ETH的PoS 开发者Karl Floersch竟然才23岁!!!!!!我是惊呆了!相比V神的腼腆(闲庭信步),Karl是相当幽默和无所畏惧,我天,他真的可 ...

  7. 2020.08.06狂人日记:Python项目转C#项目问题

    2020.08.06狂人日记:Python项目转C#项目问题 C#学习笔记 问题及解决 C#学习笔记 下拉选框中,在界面加入的元素集合和代码中写入的元素集合不会覆盖,即便有相同的元素也不会覆盖,代码中 ...

  8. 大学英语b和计算机三级,大学英语三级B真题2018年06月

    大学英语三级(B)真题2018年06月 Part ⅠListening Comprehension Directions: This part is to test your listening ab ...

  9. 蒲公英 Ghost Win10(x86/x64)装机版/纯净版 2018.08

    32位装机版 File:GhostWin10x86z_PGYv201808New.iso Size:5.12G MD5:C7B293BCECF0FF2310C22544F2C5B746 下载地址(请把 ...

  10. 【新书推荐】【2018.08】电子防御系统概论(第三版)

    [2018.08]电子防御系统概论(第三版)Introduction to Electronic Defense Systems, Third Edition,共761页. 如果需要电子版,请联系QQ ...

最新文章

  1. 超燃!Apache Flink 全球顶级盛会强势来袭[视频+PPT]
  2. 一个低级错误,关于timer
  3. “六神”——技术提高开发效率的一个方案
  4. 使用显式Intent向下一个活动传递数据
  5. 深入理解计算机系统学习记录(一)
  6. 使用Xftp5连接云服务器
  7. 赤橙黄绿青蓝紫html颜色,赤橙黄绿青蓝紫,超完整颜色词汇大全
  8. 不采用服务器虚拟化的优缺点,为什么要进行虚拟化部署?虚拟化的缺点是什么?...
  9. html+制作动态主题,动态HTML的制作
  10. vue2.0分页组件,
  11. 软件获取imei和imsi_获取设备信息(imei、imsi、uuid)的调整使用plus.device.getInfo方法的说明...
  12. 【笔记】C++之SLT的常用容器
  13. Tansat XCO2数据下载
  14. “卖给我一支笔”:乔布斯会如何应对这个经典问题?
  15. 入驻QQ一天就爆满,Midjourney中文版来了
  16. 腾讯百度之间地图经纬度的转换
  17. 自步对比学习(Self-paced Contrastive Learning with Hybrid Memory for Domain Adaptive Object Re-ID)
  18. 数据库新技术前沿总结
  19. Linux中的nl命令
  20. 日常一记(2)--vba修改模块名

热门文章

  1. IE 11打开之后一直提示“恢复非正常关闭的网页”,让后IE就卡死
  2. php和fastapi,FastAPI快速开始
  3. linux向上翻页_Linux下vim编辑器命令大全
  4. ubuntu之解决挂载NTFS磁盘时出现input/output error
  5. python数据生成可视化_Python数据分析:手把手教你用Pandas生成可视化图表
  6. Ponemon Institute告诉你,大数据正在勾搭网络安全
  7. SQL语句关于数据库安全性
  8. HTML5的新的结构元素介绍
  9. fastjson转换json格式数据为ListHashMap转换异常问题
  10. 【转】MongoDB介绍及下载与安装