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

Next.js 15 App Router中API路由无法获取regions数据(404错误)求助

Next.js 15 App Router中API路由无法获取regions数据(404错误)求助

兄弟我瞅了你的代码,瞬间就发现了一个超容易踩的坑!你看你的API路由文件名——写成rotue.ts了!少了个字母u啊!正确的文件名必须是route.ts(r-o-u-t-e),Next.js的App Router只会识别这个命名的文件作为路由处理文件,文件名错了直接就找不到接口,返回404完全合理!

给你整理几个修复步骤,按顺序来:

  • 第一步:立刻把src/app/api/regions/rotue.ts重命名为src/app/api/regions/route.ts,确保拼写分毫不差。
  • 第二步:先手动访问http://localhost:3000/api/regions,看看能不能正常返回你定义的regions数组JSON。如果能返回,那问题基本就解决了。
  • 第三步:如果还是有问题,建议把getRegions里的fetch路径改成相对路径试试:
    async function getRegions() {
      const res = await fetch('/api/regions', {
        cache: "no-store",
      });
    
      if (!res.ok) {
        throw new Error("Failed to fetch regions");
      }
    
      return res.json();
    }
    
    因为在Next.js的服务器组件里,用相对路径fetch会自动拼接正确的域名,能避免NEXT_PUBLIC_API_URL配置错误的问题。

另外你提到test的路由能正常访问,对比一下就明白——test的路由文件名是正确的route.js,而regions的文件名写错了,这就是核心问题所在!

备注:内容来源于stack exchange,提问作者Kyle Ethan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.14 08:58:10