无法在简单的nextjs API调用中访问请求正文

gdrx4gfi  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(85)

我从我的nextjs前端发出这个调用,在本地运行

const handleApiCall = async () => {

const requestOptions = {
  method: "POST",
  body: JSON.stringify({ hello: "world" }),
  headers: { "content-type": "application/json" },
};
try {
  await fetch("/api/generate", requestOptions)
    .then((res) => res.json())
    .then((data) => console.log(data))
    .catch((err) => console.log(err));

} catch (error) {
  console.error("Error fetching data:", error);
}};

我的API路由非常简单:

export default async function POST(request) {
  const res = await request.json();
  console.log({ res });
 }

这会抛出一个错误--TypeError:request.json不是函数
如果我尝试注销请求,它会显示为:

{ params: {}, searchParams: {} }

附加上下文:我用的是13.2
使用Node 20
调用来自客户端组件。

neskvpey

neskvpey1#

原来我有错误的文件名为API。
必须是route.ts或route.js

相关问题