我不推荐这种方法,但是从技术上讲,可以通过滥用请求堆栈并重写当前请求并重新调度它来实现。
但是,你仍然需要执行某种类型的自定义“路由”以正确设置
url_rule,因为GCF的传入请求将没有该请求(除非你通过请求明确提供了该请求):
from flask import Flask, _request_ctx_stackfrom werkzeug.routing import Ruleapp = Flask(__name__)@app.route('/hi')def hi(*args, **kwargs): return 'Hi!'def say_hello(request): ctx = _request_ctx_stack.top request = ctx.request request.url_rule = Rule('/hi', endpoint='hi') ctx.request = request _request_ctx_stack.push(ctx) return app.dispatch_request()


