使用Flask编写的接口编码
来源:互联网 发布:java通过构造方法传参 编辑:程序博客网 时间:2024/06/14 06:32
# -*- coding:utf-8 -*-import sysreload(sys)sys.setdefaultencoding("utf-8")from flask import Flaskfrom flask_restful import Resource,Api,abort,reqparseapp = Flask(__name__)api = Api(app)class HelloWorld(Resource): def get(self): return {'hello':'world'}TODOS = { 'todo1': {'task': 'build an API'}, 'todo2': {'task': '?????'}, 'todo3': {'task': 'profit!'},}# TODOS不在请求数据中时,报404def abort_if_todo_doesnt_exist(todo_id): if todo_id not in TODOS: abort(404,message=u'请求参数不存在'.format(todo_id))# 创建reqparse对象parser = reqparse.RequestParser()# 添加请求参数parser.add_argument('task')class Todo(Resource): # 发送get请求,获取请求数据 def get(self,todo_id): abort_if_todo_doesnt_exist(todo_id) return TODOS[todo_id] # 删除请求数据,返回错误状态码204 def delete(self,todo_id): abort_if_todo_doesnt_exist(todo_id) del TODOS return '',204 # 解析所传递的参数,并返回状态码201 def put(self,todo_id): # 创建请求参数解析对象 args = parser.parse_args() # 准备请求参数 task = {'task':args['task']} TODOS[todo_id] = task return task,201# 展示所有的请求参数,并且获取新添加的请求参数class TodoList(Resource): # 执行get请求,获取所有请求参数 def get(self): return TODOS # 发送post请求,获取请求参数 def post(self): # 创建请求参数解析对象 args = parser.parse_args() todo_id = int(max(TODOS.keys()).lstrip('todo'))+1 todo_id = 'todo%i'%todo_id if not args['task']: return {'code':8001,'msg':'参数名有误'} TODOS[todo_id] = {'task': args['task']} return TODOS[todo_id],201# 把数据添加到api资源中api.add_resource(HelloWorld,'/')api.add_resource(TodoList,'/todos')api.add_resource(Todo,'/todos/<todo_id>')if __name__ == '__main__': app.run(debug=True)
阅读全文
0 0
- 使用Flask编写的接口编码
- flask使用Blueprint进行多模块应用的编写
- 使用Python和Flask编写Prometheus监控
- 使用链表编写的香农编码
- 【Flask】(LV.0) Flask的简单使用
- 【python Flask】Flask-Bootstrap的使用
- flask蓝图的使用
- flask蓝图的使用
- flask蓝图的使用
- Flask-Login的使用
- Flask-信号的使用
- Flask-Login的使用
- Flask-Mail的使用
- flask的基本使用
- Flask的WTF使用
- 三分钟学会API接口设计 之 Compass 的Restful API 快速入门指南 -- 使用Flask框架
- 使用Flask设计带认证token的RESTful API接口[翻译]
- [python][Flask] 模版的使用
- redis事务
- Java 加载资源文件整理
- Linux-002-Linux应用领域与开源软件介绍
- Codeforces Round #430 (Div. 2) E. Nikita and game
- Linux-003-Linux系统安装-系统分区
- 使用Flask编写的接口编码
- Spring Cloud构建微服务架构—服务网关过滤器
- 丑数
- 全球首套中文真斜体-腾讯发布 动感十足
- 面向对象设计原则
- jdbc中mysql的url格式
- 唯快不破:TCP/IP详解--UDP数据报中的IP分片
- 包与访问权限
- Reverse Integer