Flask-RESTful 库的应用
在RESTful API设计中,最核心的概念就是Resource。通过Flask-RESTful库,我们可以高效率地开发建立在Resource上的REST API。
pip install flask-restful
Flask 下的传统资源定义方法
创建 Flask app
app = Flask(__name__)
设置路由(routes)
@app.route('/item/<string:name>', methods=['GET'])
-
为路由分配对应方法(methods)
@app.route('/item/<string:name>', methods=['GET']) def get_item(name): return {'Item': name}, 200
这样就完成了对资源item的GET方法定义。
Flask-RESTful 下更高效的资源定义方法
-
引入Flask-RESTful
Flask-RESTful 提供了两个非常重要的class:
from flask_restful import Resource, Api
-
创建对象Api
初始化过程中添加创建Api的步骤:
app= Flask(__name__) api = Api(app)
-
通过继承Resource类创建资源
通过 Resource 类,需要定义的资源可以通过继承 Resource 来创建:
class Item(Resource):
-
在资源下添加CRUD操作方法
而对此资源的CRUD操作则直接作为methods添加在类下:
class Item(Resource): def get(self, name): return {'Student': name}, 200 def post(self, name): pass
-
将资源添加进Api,并设置资源与路由的对应关系:
api.add_resource(Item, '/item/<string:name>')