起步
Flask-RESTful是用于快速构建REST API的Flask扩展。
1 安装
pip install flask-restful
2 Hello World
from flask import Flask
from flask_restful import Resource, Api
app = Flask(name)
api = Api(app)
class HelloWorldResource(Resource):
def get(self):
return {‘hello’: ‘world’}
def post(self):
return {'msg': 'post hello world'}
api.add_resource(HelloWorldResource, ‘/’)
此处启动对于1.0之后的Flask可有可无
if name == ‘main’:
app.run(debug=True)
关于视图
1 为路由起名
通过endpoint参数为路由起名
api.add_resource(HelloWorldResource, ‘/’, endpoint=‘HelloWorld’)
2 蓝图中使用
from flask import Flask, Blueprint
from flask_restful import Api, Resource
app = Flask(name)
user_bp = Blueprint(‘user’, name)
user_api = Api(user_bp)
class UserProfileResource(Resource):
def get(self):
return {‘msg’: ‘get user profile’}
user_api.add_resource(UserProfileResource, ‘/users/profile’)
app.register_blueprint(user_bp)
3 装饰器
使用method_decorators添加装饰器
为类视图中的所有方法添加装饰器
def decorator1(func):
def wrapper(*args, **kwargs):
print(‘decorator1’)
return func(*args, **kwargs)
return wrapper
def decorator2(func):
def wrapper(*args, **kwargs):
print(‘decorator2’)
return func(*args, **kwargs)
return wrapper
class DemoResource(Resource):
method_decorators = [decorator1, decorator2]
def get(self):
return {'msg': 'get view'}
def post(self):
return {'msg': 'post view'}
为类视图中不同的方法添加不同的装饰器
class De