Flask-SSE中'stream'是否硬编码?自定义/api路由报错求解
Flask-SSE 自定义路由问题解决
这个路由不是库内硬编码,完全可以改成
/api路径,你遇到的错误和路由前缀本身无关,是两个小问题导致的:- 报错里的
see.api是拼写错误——把sse写成了see,端点名称应该是sse.stream,和你设置的url_prefix无关。 - 你误解了端点名称和访问路径的关系:用
app.register_blueprint(sse, url_prefix='/api')后,SSE流的访问路径变成了/api/stream,但端点名称依然是sse.stream(Flask蓝图的端点命名规则是蓝图名.视图函数名,前缀不影响端点标识)。
- 报错里的
正确操作步骤:
- 保留蓝图注册代码:
app.register_blueprint(sse, url_prefix='/api') - 代码内生成URL时,继续使用
url_for('sse.stream'),它会自动生成/api/stream的正确路径 - 前端或其他请求端,将原请求
/stream的地址替换为/api/stream
- 保留蓝图注册代码:
高级文档里改成
/sse的示例,逻辑和你改/api完全一致,只要所有调用端点的地方都用正确的sse.stream标识,就不会出现错误。
内容的提问来源于stack exchange,提问作者Source Matters
相关产品推荐
相关产品推荐

