Next.js
定义接口
Next.js App Router 使用文件系统路由:路由由目录结构自动映射。
Next.js App Router 路由规则
在 Next.js 13+ 的 App Router 中:
-
目录结构 = URL 路径
src/app/api/auth/getutc/route.ts→/api/auth/getutc- 每个目录层级对应 URL 的一个段
-
route.ts文件的作用route.ts定义 API 路由处理函数- 可以导出
GET、POST、PUT、DELETE等 HTTP 方法
-
路由映射示例
文件路径 → URL 路径
src/app/api/auth/route.ts → /api/auth
src/app/api/auth/getutc/route.ts → /api/auth/getutc
src/app/api/auth/user/[id]/route.ts → /api/auth/user/:id -
自定义路由方式
- 在 src/auth 目录创建 route.ts
export { POST } from "../api/auth/route";
这样可以访问接口 /auth,也可以访问到 /api/auth接口
这是 Next.js App Router 的核心特性:基于文件系统的路由,让路由组织更直观。
示例
文件路径: src/api/auth/route.ts
export async function POST(req: NextRequest) {
// ... 认证逻辑
}
这个文件只导出了 POST 函数,所以:
- ✅ POST
/api/auth→ 可以调用(需要key和utctime参数) - ❌ GET
/api/auth→ 不支持(会返回 405 Method Not Allowed)