我可以在NextJS 13中有一个API路由。此端点可访问http://localhost:8080/api/foo/bar
// pages/api/foo/bar.ts
import { NextApiRequest, NextApiResponse } from "next";
export default async function handler(
req: NextApiRequest,
res: NextApiResponse
) {
res.status(200).json({ foo: "bar2" });
}
然而,我不想有“API”作为网址的一部分,如http://localhost:8080/foo/bar
如果没有'API'作为文件夹之一,例如:pages/foo/bar.ts然后对于上面的URL,我得到一个错误:
错误:对象作为React子对象无效(找到:[object Promise])。如果你想呈现一个子级集合,请使用数组代替。
我假设它的错误是因为它期望默认导出为React组件,但我不知道如何解决这个问题。
1条答案
按热度按时间qyswt5oh1#
据我所知,如果你使用Nextjs API,你必须使用
/api
路由。因此,您可以创建自定义服务器并将路由/foo
重定向到/api/foo
举个例子: