我正在用React构建Flask应用,但最终遇到了路由问题。
后端负责成为API,因此一些路由如下所示:
@app.route('/api/v1/do-something/', methods=["GET"])
def do_something():
return something()
以及通往React的主要路线:
@app.route('/')
def index():
return render_template('index.html')
我在React应用程序中使用react-router,一切正常,react-
router带我进入,/something
并获得了呈现的视图,但是当我刷新页面时,/something
Flask应用程序会处理此调用,并且会Not
Found
出错。
最好的解决方案是什么?我正在考虑重定向所有未调用的调用/api/v1/...
,/
这是不理想的,因为我将返回应用程序的主页,而不是呈现React视图。
为此,我们使用了所有网址。
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()
您还可以加倍努力,重用Flask routing
系统以与path
客户端匹配相同的路由,以便可以将客户端需要的数据作为JSON嵌入HTML响应中。