Flask配置Flask-Caching后/payload/hourly接口返回404问题排查
问题根因
404错误和Flask-Caching的使用完全无关,是路由定义的笔误导致的:
你在/payload/hourly的路由规则末尾多写了一个多余的英文逗号:
# 错误写法:路由路径末尾多了逗号 @app.route('/payload/hourly,', methods=['GET'])
这会让Flask实际注册的路由是/payload/hourly,(结尾带逗号),你访问不带逗号的/payload/hourly自然会匹配不到路由,返回URL NOT FOUND错误。
修复方案
删除路由路径末尾的多余逗号即可:
# 修正后写法 @app.route('/payload/hourly', methods=['GET'])
修改后重启应用,该接口即可正常访问,你写的get_future函数的缓存逻辑也会按预期生效,每300秒才会重新执行一次。
Flask路由404通用排查思路
- 优先对比路由定义的路径和实际访问的路径是否完全一致,注意大小写、特殊字符、多余标点的差异
- 开启Flask调试模式启动应用,可直接查看所有已注册的路由规则,快速确认路由是否注册正确
- 检查是否存在重复的视图函数名、路由被蓝图前缀/其他匹配规则覆盖的情况
内容的提问来源于stack exchange,提问作者bbartling
相关产品推荐
相关产品推荐

