【问题标题】:Catch-All URL in flask-restfulflask-restful 中的 Catch-All URL
【发布时间】:2016-09-21 23:03:36
【问题描述】:

Flask 中有一个Catch-All URL 能力

from flask import Flask app = Flask(__name__)

@app.route('/', defaults={'path': ''})
@app.route('/<path:path>')
def catch_all(path):
    return 'You want path: %s' % path

if __name__ == '__main__':
    app.run()

一个小示范..

% curl 127.0.0.1:5000          # Matches the first rule
You want path:  
% curl 127.0.0.1:5000/foo/bar  # Matches the second rule
You want path: foo/bar

我怎样才能在flask-restful 中拥有相同的功能?

【问题讨论】:

  • 这不只是一个带有:path 映射的标准Flask 路由吗? catch_all 这个名字可以是任何东西
  • @cricket_007 可能,我对Flask不是很熟悉,可以采用restful-flask的解决方案吗?
  • @cricket_007 不是我不是在谈论函数的名称。我正在寻找一种方法来捕获/之后的所有子地址
  • 我不知道你为什么要这么做。或者为什么你需要 Flask-RESTful 来实现这一点。我相信,您只能将一个 Resource 映射到 /。看这里。 flask-restful.readthedocs.io/en/0.3.5/…
  • 如果你需要接受任何带有斜线的东西,那么api.add_resource(Endpoint, '/&lt;path:content&gt;') 应该可以工作

标签: python flask flask-restful


【解决方案1】:

The comment posted by cricket_007 解决了这个问题:

如果您需要接受任何带有斜杠的内容,那么api.add_resource(Endpoint, '/&lt;path:content&gt;') 应该可以工作

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-07
    • 1970-01-01
    • 2011-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-22
    • 1970-01-01
    相关资源
    最近更新 更多