Next.js13中Vercel生产环境POST函数引发GET响应异常问题
问题:Next.js API路由同时存在GET和POST时Vercel生产环境GET请求异常
- 本地开发环境中,
app/api/nav/route.ts同时编写GET和POST处理函数时运行正常 - 部署到Vercel生产环境后,GET请求返回结果缺失
page.tsx文件名;注释POST函数后,GET请求恢复正常(全程未发起过POST请求)
异常响应(Vercel生产环境未注释POST函数)
{ "code": 200, "test": [ "readme.mdx" ] }
正常响应(Vercel生产环境注释POST函数)
{ "code": 200, "test": [ "page.tsx", "readme.mdx" ] }
相关信息
- 涉及文件:
app/api/nav/route.ts - 目录结构确认
page.tsx文件真实存在
代码示例
import { NextResponse } from 'next/server' import fs from 'fs/promises' import path from 'path' export async function GET(request: Request) { const test = [] for (const name of await fs.readdir( path.resolve(process.cwd(), 'app/blog/data_structure/tree') )) { test.push(name) } const result = { code: 200, test: test, } return NextResponse.json(result) } export async function POST(request: Request) { return NextResponse.json({ data: true }) }
内容的提问来源于stack exchange,提问作者linzhe141
相关产品推荐
相关产品推荐

