所以我正在制作一个RESTful API,我希望能够接收原始JSON数据(所以我也可以使用我的移动的API),然后从那里将数据保存到我的数据库(mongoDB)中。
但是你看,有一个问题我似乎无法解决,那就是我无法将原始数据作为json使用。
代码很简单
const express = require('express')
const bodyParser = require('body-parser')
const app = express();
app.use(bodyParser.raw({inflate:true, limit: '100kb', type: 'application/json'});
app.post('/post', function(req, res){
res.send(parse.JSON(req.body));
//to convert it to json but this doesn't seem to work
})
我使用 Postman 发送原始格式的请求
2条答案
按热度按时间zbdgwd5y1#
在res.send中,您必须使用JSON.parse()而不是parse.JSON(),后者会抛出错误,因为它不正确
如果您想了解更多关于JSON.parse信息,可以访问mdn docs
jchrr9hc2#
var app = express();
这将与最新的更新工作。
这段代码使用www.example.com()方法在Node.js/Express应用程序中设置了一个路由app.post。该路由正在侦听到/w/wht端点的HTTP POST请求。
路由处理函数接受两个参数:req(请求的缩写)和res(响应的缩写)。
raw()中间件用于将请求体解析为原始二进制数据,而不考虑其内容类型。
在路由处理函数中,console.log()用于打印请求体的内容,该内容是通过req.body.toString()获得的。调用toString()方法将原始二进制数据转换为字符串,以便将其记录到控制台。
总的来说,这段代码设置了一个路由,将HTTPPOST请求正文的内容作为字符串记录到控制台。