我正在尝试提供一项服务来实现两个相关的功能。我希望我的 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 的另一部分分开的文件中。
这在 flask 中可能吗?或者我应该寻找新的方法?
最佳答案
您需要查看 Blueprints .
定义应用程序时,您可以使用路径前缀注册蓝图:
app = Flask(__name__, template_folder='views')
app.register_blueprint(controllers.route1, url_prefix="/route1")
app.register_blueprint(controllers.route2, url_prefix="/route2")
然后在单独的文件中定义这些路由的 Controller 。
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。
关于python - python Flask 中的模块化路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34323265/