Next.js 13.3.0中Body Parser失效问题求助
解决Next.js App Router登录路由请求体未解析问题
问题原因
你使用的是Next.js App Router(app/api/signin/route.ts),但写法沿用了Pages Router的逻辑:
- App Router的
NextRequest对象不会自动解析请求体,无法直接通过req.body获取内容 - 你导出的
config配置是Pages Router专属设置,App Router不支持该配置项
修复代码
修改api/signin/route.ts内容如下:
import { NextRequest, NextResponse } from 'next/server'; export async function POST(req: NextRequest) { // 异步解析JSON请求体 const requestBody = await req.json(); console.log(requestBody); return NextResponse.json({ name: requestBody.username }); }
关键说明
- 对应你设置的
Content-Type: application/json请求头,必须用await req.json()解析请求体 - 如果是表单数据,改用
await req.formData();纯文本请求用await req.text(),根据实际请求类型选择解析方法 - 直接删除之前导出的
config配置,App Router不需要该设置
内容的提问来源于stack exchange,提问作者danimadmolil
相关产品推荐
相关产品推荐

