我使用Express在NodeJS中定义了一个非常简单的端点:
router.put("/test", this.test.bind(this));
public test(req: Request, res: Response, next: NextFunction) {
console.log(req.body);
}
如果我PUT
以下JSON正文,则端点正常工作:
{
"name": "something"
}
但是,如果我使用没有大括号(这完全有效)的JSON主体,如下所示:
"something"
我收到错误:
TypeError: First argument must be a string or Buffer
at ServerResponse.OutgoingMessage.end (_http_outgoing.js:558:11)
两种情况下的内容类型均为application/json
。
为什么这些原始JSON字符串不被接受,我该如何解决?