我是 Web 开发的初学者,我正在尝试使用 Postman 向我的应用程序的 API 之一发送 POST 请求。 我正在使用 Next.JS 框架来构建我的网站。
这是我的API:
import type { NextApiRequest, NextApiResponse } from "next"
export default async (
req: NextApiRequest,
res: NextApiResponse,
) => {
const userData = JSON.parse(req.body)
res.status(200).json(userData)
}
我简化了我的 API,直到发现错误,我相信它与
JSON.parse(req.body)
行有关。
我收到以下错误:
SyntaxError: Unexpected number in JSON at position 1
at JSON.parse (\u003canonymous\u003e)
at __WEBPACK_DEFAULT_EXPORT__ (webpack-internal:///(api)/./pages/api/login.ts:9:27)
以前,我使用此 API 来验证用户身份,一切正常,除了当我尝试将数据插入 Postman POST 请求正文时。
有人可以帮助我吗?我不知道该怎么办。
如果您想从 POST 请求反序列化正文,则还必须发送正文包含任何数据的请求,否则,
req.body
将是 null
,并且这不是有效的 json。
我在通过路由器处理程序(应用程序路由器)添加 FormData 时遇到了同样的问题
如果您遇到类似问题,请注意 NextRequest 对象,您可以调用
req.formData()
返回表单数据,无需解析。
使用此方法也不需要发送
multipart/form-data
标头。