Blueprints¶
Blueprint Concept¶
Flask提供了blueprint的概念用于模块化构建服务端代码,详细文档可参考Flask文档: http://flask.pocoo.org/docs/blueprints/ 。
Declaring Blueprint¶
项目用到的 Blueprint
可以在任意位置进行声明,项目启动时会自动将所有声明的 Blueprint
自动注册到Flask app中。
Using @blueprint¶
我们可以使用装饰器来替代显示的声明 Blueprint
。
下面的代码给出了一个运算加法的接口的示例。
from flask import request
from guniflask.web import blueprint, post_route
@blueprint('/api')
class MathController:
def __init__(self):
self.add_service = lambda a, b: a + b
@post_route('/add')
def add(self):
data = request.json
return {'result': self.add_service(data.get('a'), data.get('b'))}