我正在与express一起建立API,并且遇到了以下代码行:app.use(express.json( { extended: false } ));
我已经看过express的文档,但是找不到这种方法,是缺少文档还是缺少某些内容?

最佳答案

答案来自查看实际的Express和主体解析器代码...

如果您查看express.json()方法here的Express代码,您会发现它是body-parser模块直接传递给.json()方法的。

 // from express.js
 exports.json = bodyParser.json;

因此,如果您随后查看主体解析器文档,则extended中间件的body-parser.json()选项没有任何内容。

如您所知,extended中间件记录了body-parser.urlencoded()选项。但是,由于这与.json()中间件方法不同,因此看来该代码被误认为是将extended选项与.json()中间件一起使用。

如果您去看看code for the body-parser.json() middleware,您将在代码中根本找不到对extended选项的引用。

因此,它似乎是一个在您显示的代码中错误传递的选项,随后被express/body-parser json中间件忽略。

关于javascript - express.json({扩展的: false}),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57762864/

10-08 22:26
查看更多