如何使用nextjs 13创建无服务器函数(获取请求)

iibxawm4  于 2023-05-06  发布在  其他
关注(0)|答案(1)|浏览(120)

我习惯于通过nextjs无服务器函数创建简单的API端点。我在pages文件夹中有一个API文件夹,它包含了我所有的端点。我刚刚用nextjs 13创建了一个新的仓库,它使用了app路由器而不是pages路由器。我不知道如何创建新的路线。
我在docs中找到了这个:

import { NextResponse } from "next/server";

export async function GET(request: Request) {
  return NextResponse.json({ hello: "Next.js" });
}

所以我尝试在app/api/route.ts中添加它,但是查询localhost:3000/API/route返回404错误。我错过了什么?

wko9yo5t

wko9yo5t1#

在新的应用程序路由器中,route.ts文件具有特殊含义,并且不是端点url的一部分。因此,对于app/api/route.ts,结果URL是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将不起作用。

相关问题