You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flask后端+React前端部署Render后Get请求返回404求助

本地正常的React+Flask应用部署到Render后GET请求返回404

本地运行正常的React+Flask应用,部署到Render平台后所有GET请求返回404错误。即使硬编码后端API返回值,问题依然存在,网络请求显示已发起但始终提示“Not Found”。

相关代码信息

React前端请求代码

const fetchProducts = useCallback(async () => {
  try {
    let response;

    const headers = {
      'Content-Type': 'application/json', // Set the Content-Type header
    };

    if (searchQuery) {
      response = await axios.get(`${API_URI}/api/aggregated/matched/getall?page=${currentPage}&sort=${selectedSortOption}&query=${searchQuery}`, { headers });
    } else {
      response = await axios.get(`${API_URI}/api/aggregated/cheapest/getall?page=${currentPage}&sort=${selectedSortOption}`, { headers });
    }
    // 后续处理代码省略
  } catch (error) {
    // 错误处理省略
  }
}, [searchQuery, currentPage, selectedSortOption]);

Flask后端路由代码

@all_cheapest_computers_blueprint.route('/cheapest/getall', methods=['GET'])
def get_cheapest_options():
    # 业务逻辑省略
    return jsonify({"data": "test"})

Flask蓝图注册代码(app.py)

app.register_blueprint(all_cheapest_computers_blueprint, url_prefix='/api/aggregated')

后端日志

Aug 20 05:25:20 AM  127.0.0.1 - - [20/Aug/2023:02:25:20 +0000] "GET /api/aggregated/cheapest/getall?page=1&sort=ascendive_price HTTP/1.1" 404 207 "mybackenddomain/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36"

排查与解决方案

  • 确认蓝图是否正确导入
    检查app.py中是否已导入蓝图对应的模块,比如:

    from your_blueprint_module import all_cheapest_computers_blueprint
    

    仅注册蓝图但未导入模块,路由不会被加载。

  • 检查Render启动命令
    Render平台上Flask应用的启动命令需指向正确的app实例,例如:

    gunicorn app:app
    

    确保命令中的app:app对应你的Flask实例(第一个app是文件名,第二个是实例名)。

  • 验证路由匹配
    日志显示请求路径为/api/aggregated/cheapest/getall,与蓝图前缀+路由路径完全一致,需确认:

    • 蓝图注册代码是否在Flask app实例创建之后执行
    • 没有其他全局路由或蓝图占用该路径
  • 直接测试后端API
    在浏览器或Postman中直接访问Render后端域名的/api/aggregated/cheapest/getall?page=1&sort=ascending_price,若仍返回404,可确定是后端路由配置问题;若正常返回,则检查前端API_URI是否拼接错误(比如末尾多了斜杠)。

  • 检查Flask环境配置
    确保Render上已设置必要的环境变量,如FLASK_APP=app.py,避免因实例加载错误导致路由失效。

内容的提问来源于stack exchange,提问作者user15465584

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 17:00:30