[英]ExpressJS Error: Body-Parser Deprecated
问题我正在尝试构建一个 Node.js API,在编写我的 server.js 文件时,我的代码如下所示:
var express = require('express');
var express = require('body-parser');
var app = express();
app.use(bodyParser.json());
app.get('/api/posts', function(req,res) {
res.json([
{
username: 'oscar',
body: 'hello'
}
])
})
app.listen(3000, function() {
console.log('Server Listening on', 3000)
})
但是,在命令提示符下,我收到此错误:
body-parser deprecated bodyParser: use individual json.urlencoded
middlewares server.js:4:11
body-parser deprecated undefined extended: provide extended option
node_modules\body-parser\index.js:85:29
我尝试将其更改为:
app.use(bodyParser.urlencoded({ extended: true }));
和
app.use(bodyParser.urlencoded({ extended: false }))
就像其他帖子建议的那样,但它仍然给出相同的错误。 不知道现在该怎么办! 请帮忙。
谢谢!
var app = express();
// configure body-parser
app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json());
我有类似的弃用警告。 这是我的原始代码:
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded());
添加{extended: true}
为我修复了警告。 这是改变了代码:
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
除非您有拼写错误,否则请更改:
var express = require('body-parser');
var app = express();
app.use(bodyParser.json());
至:
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser());
请查看请求和响应对象在此处执行的操作
你实际上并不需要行app.use(bodyParser.urlencoded({extended: true}));
我已经使用以下代码:
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.json());
作为日志,你有app.user(bodyParser.json());
你不应该得到错误。
当前 express.js 版本(≥ 4.16)不再需要body-parser
模块。
相反,使用 express 中已经包含的 json 解析器:
app.use(express.json())
在新版本的 express 中,正文解析现在是内置的。 所以,你可以简单地使用
app.use(express.json()) //For JSON requests
app.use(express.urlencoded({extended: true}));
从直接快递
您可以使用npm uninstall body-parser
然后你可以简单地从req.body
获取 POST 内容
app.post("/yourpath", (req, res)=>{
var postData = req.body;
//Or for string JSON body, you can use this
var postData = JSON.parse(req.body);
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.