美文网首页
flask-RESTful的用法

flask-RESTful的用法

作者: 股金杂谈 | 来源:发表于2017-03-14 17:31 被阅读319次

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)

相关文章

网友评论

      本文标题:flask-RESTful的用法

      本文链接:https://www.haomeiwen.com/subject/pgmhnttx.html