我正在尝试使用一项服务来完成两项相关功能。我希望我的REST api能有这样的东西:
/route1/get/as_text
/route2/get/as_json
在nodejs中,您可以通过以下方式传递来自某个基本URL的路径集合:
app.use('/route1/', route1.js)
app.use('/route2/', route2.js)
然后route1.js
将有如下定义的路由:
app.router('/as_text', function(){//some stuff})
当我这样做时,可以定义一组路由,这些路由都有/route1/
作为URL的基础。我想在flask中做类似的事情,我只是定义url的第一部分,并将API的该部分的所有逻辑添加到与api的另一部分分开的文件中。
这可能在烧瓶中吗?或者我应该寻找新的方法吗?
答案 0 :(得分:1)
您想要查看Blueprints。
定义应用程序时,可以使用路径前缀
注册蓝图app = Flask(__name__, template_folder='views')
app.register_blueprint(controllers.route1, url_prefix="/route1")
app.register_blueprint(controllers.route2, url_prefix="/route2")
然后在单独的文件中定义这些路径的控制器。
route1 = Blueprint('route1', __name__, template_folder='views')
@route1.route('/get/as_text',methods=['GET'])
def get_as_text_route():
return json.jsonify(data="my data")
您还可以签出Flask Restful以使用Flask创建REST API。