Flask-RESTful 是一个 Flask 扩展,它添加了快速构建 REST APIs 的支持。它当然也是一个能够跟你现有的ORM/库协同工作的轻量级的扩展。
同样的要使用我们首先就要导入
第一步:
导入我们要用到的文件
from flask_restful import reqparse, abort, Api, Resource
第二步:
创建Api实例
api = Api(app)
第三步:
创建数据库
TODOS = {
'todo1': {'task': 'build an API'},
'todo2': {'task': '?????'},
'todo3': {'task': 'profit!'},
}
第四步:
创建必要的请求解析类, 用来解析请求中的参数
parser = reqparse.RequestParser()
parser.add_argument('task')
第五步:
定义Resource
的子类
# Todo
# show a single todo item and lets you delete them
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
# TodoList
# shows a list of all todos, and lets you POST to add new tasks
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
只要在资源(Resource)上定义方法就能够容易地访问多个 HTTP 方法。
第六步:
将资源设置为实际的Api route
api.add_resource(TodoList, '/todos')
api.add_resource(Todo, '/todos/<string:todo_id>')
第七步:
添加APP启的代码
if __name__ == '__main__':
app.run(debug=True)
网友评论