提问人:Th0rgal 提问时间:5/6/2023 更新时间:5/6/2023 访问量:471
如何使用 NextJS 13 创建无服务器函数(GET 请求)
how to create serverless functions (get requests) with nextjs 13
问:
我习惯于通过nextjs无服务器函数创建简单的api端点。我的页面文件夹中有一个 api 文件夹,其中包含我的所有端点。我刚刚使用 nextjs 13 创建了一个新存储库,它使用应用程序路由器而不是页面路由器。我不明白如何创建新路线。
我在文档中找到了这一点:
import { NextResponse } from "next/server";
export async function GET(request: Request) {
return NextResponse.json({ hello: "Next.js" });
}
所以我试图将它添加到 中,但查询 localhost:3000/api/route 返回 404 错误。我错过了什么?app/api/route.ts
答:
2赞
alexortizl
5/6/2023
#1
在新的应用路由器中,该文件具有特殊含义,不是终结点 URL 的一部分。因此,在您的情况下,对于生成的 url 是 for,您需要将其构建为或 for it 将是等。该文件指示该文件中定义的处理程序适用于与父文件夹对应的路径。此外,需要调用该文件,调用它将不起作用。route.ts
app/api/route.ts
localhost:3000/api
localhost:3000/api/route
app/api/route/route.ts
localhost:3000/api/foo/bar
app/api/foo/bar/route.ts
route.ts
route.js|ts
something_else.ts
评论