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

API路由已存在但POST请求返回404的技术求助

Next.js fetch请求404:找不到/api/createInterpretations路由的修复方案

你的404错误核心原因是Next.js API路由的文件结构不符合框架要求,同时代码里还有几处细节问题,下面逐一解决:

1. 调整API路由的文件结构

Next.js的API路由规则(App Router模式):

  • 必须在项目根目录的app/api文件夹下创建子文件夹,比如app/api/createInterpretations
  • 该子文件夹下的API处理文件必须命名为route.ts(不能用自定义的createInterpretations.tsx)

如果是Pages Router模式,则需要把API文件放在pages/api目录下,文件名直接用createInterpretations.ts即可。

2. 修正API路由代码

原API代码存在两个问题:非POST请求未返回响应、创建数据后无结果返回,修改后的代码如下(App Router版本):

import { prisma } from "@/lib/prisma";

export async function POST(req: Request) {
  // 只允许POST方法
  if (req.method !== "POST") {
    return new Response(JSON.stringify({ error: "仅支持POST请求" }), { status: 405 });
  }

  try {
    const formData = await req.json();
    const newInterpretation = await prisma.interpretations.create({
      data: formData,
    });
    // 返回创建成功的数据,状态码201表示资源创建完成
    return new Response(JSON.stringify(newInterpretation), { status: 201 });
  } catch (error) {
    // 捕获错误并返回
    return new Response(JSON.stringify({ error: "创建记录失败" }), { status: 500 });
  }
}

3. 修复前端fetch请求

原请求只传递了chapterVal,未包含表单的所有字段,且缺少Content-Type请求头,调整handleSubmit函数:

const handleSubmit = async (event) => {
  event.preventDefault();
  try {
    const response = await fetch("/api/createInterpretations", {
      method: "POST",
      headers: {
        "Content-Type": "application/json",
      },
      body: JSON.stringify({
        chapter: chapterVal,
        verse: verseVal,
        content: contentVal,
      }),
    });

    if (!response.ok) {
      const errorMsg = await response.text();
      throw new Error(errorMsg);
    }

    const result = await response.json();
    console.log("记录创建成功:", result);
    // 重置表单输入
    setChapter("");
    setVerse("");
    setContent("");
  } catch (err) {
    console.error("提交失败:", err);
  }
};

4. 额外注意事项

  • 确保@/lib/prisma中的Prisma Client已正确初始化,能正常连接到PostgreSQL数据库
  • 修改文件结构后,重启Next.js开发服务器,确保框架能识别新的API路由

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 19:20:32