Next.js 13.2路由处理器获取请求体遇类型错误,求解决
解决方法
在使用Web标准Request对象的环境(比如Next.js API路由)中,request.body是ReadableStream类型,而JSON.parse需要传入字符串,这就是报错的原因。
你不需要手动调用JSON.parse,直接用Request内置的json()方法就能读取并解析请求体:
export async function POST(request: Request) { const postBody: postProps = await request.json() // 后续业务逻辑 }
额外说明
如果请求体不是JSON格式,还可以根据实际情况用这些方法处理:
- 读取为纯文本:
await request.text() - 读取为表单数据:
await request.formData() - 读取为二进制Blob:
await request.blob()
内容的提问来源于stack exchange,提问作者lool
相关产品推荐
相关产品推荐

