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. session过期重新登陆_深入分析Session和Cookie-前端面试题
  2. PTA学生成绩排序-C语言详解
  3. Java 9进入第一轮问题修复阶段
  4. 前端学习(1263):post方式的参数传递
  5. centos中安装、升级git
  6. 精准 iOS 内存泄露检测工具
  7. Git 基础(八)—— 分支管理
  8. Android widget开发有感
  9. WebStorage篇
  10. `Shell`高级编程 Day02 —— Shell脚本初步入门
  11. win10下, ColorPix取色器错位 指针偏移问题 解决方法
  12. ListView刷新某一项Item
  13. kb4524157安装失败_KB4551762安装失败怎么办_KB4551762更新无法安装解决方法 - 系统家园...
  14. 基于中国天气网的数据库设计与开发(python+MySQL)
  15. 7月11号,大连小雨
  16. uva1589 Xiangqi
  17. map集合用于存储信息(映射关系)
  18. Java实现 LeetCode 521 最长特殊序列 Ⅰ(出题人:“就是喜欢看你们不敢相信那么简单,又不敢提交的样子。”)
  19. delphi创建excel写入数据并创建二维折线图
  20. asp_net2_0学习指导 菜鸟到中级程序员的飞跃

热门文章

  1. activiti 作业执行器定时开始事件
  2. 扑克牌自定义排序,使用集合TreeSet实现实体对象排序,通过实现Comparable接口,重写compareTo比较器;
  3. 计算机系统集成 行业标准,行业标准信息服务平台
  4. IoT:加密与安全:几种常用安全加密算法原理与用途解析
  5. java10个整数反向输出_输入一个整数,实现反转输出,如输入123,输出321。
  6. 品优购案例之横向列表伪元素的应用
  7. three.js 键盘w、s、a、d控制几何体移动
  8. THREEJS - 模型的裁切消隐
  9. Mysql 电商常用的时间操作(当天,昨天,7天,30天,半年,全年,季度等等)...
  10. 【李宏毅2020 ML/DL】P4 Basic Concept