python中的模块化路由

python中的模块化路由,python,flask,Python,Flask,我试图有一个服务,将履行两个相关的功能。我想为我的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 stuf

我试图有一个服务,将履行两个相关的功能。我想为我的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的另一部分分开


在烧瓶里可以吗?或者我应该寻找一种新的方法吗?

您会想看看

定义应用程序时,可以使用路径前缀注册蓝图:

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")
您还可以签出在with Flask中创建REST API。

我不确定Flask是否有一些内置的支持(期待答案),但您肯定可以注册路由到
'/route/get/'
,然后根据
响应类型
值提供不同的数据。您甚至可以制作一个decorator,用于配置路由并自动为一种或另一种类型提供服务。