Express.js – express.json() 函数

express.json()是 Express 中内置的中间件功能。此方法用于解析带有 JSON 有效负载的传入请求,并基于 bodyparser。

此方法返回仅解析 JSON 并仅查看内容类型标头与类型选项匹配的请求的中间件。

语法

express.json([options])

参数

以下是此方法可用的不同选项

  • 选项

    • inflate – 这可以启用或禁用对放气或压缩物体的处理。默认值:真

    • 限制- 这控制请求正文的最大大小。

    • reviver – 此选项作为第二个参数传递给JSON.parse方法。

    • 严格- 这将启用或禁用接受数组或对象。

    • type – 这决定了将被解析的中间件的媒体类型。

示例 1

创建一个名为“express.js”的文件并复制以下代码片段。创建文件后,使用命令“node express.js”运行此代码。

// express.json() 演示示例

// 导入 express 模块

var express = require('express');

// 初始化 express 和端口号

var app = express();

var PORT = 3000;

// 调用 express.json() 方法进行解析

app.use(express.json());

// 阅读内容类型

app.post('/', function (req, res) {

   console.log(req.body.name)

   res.end();

})

// 监听端口

app.listen(PORT, function(err){

   if (err) console.log(err);

   console.log("Server listening on PORT", PORT);

});

在命中 API 端点之前,设置以下两个属性

  • 在标题中将内容类型设置为 application/json。

  • 在 POST 请求中传递以下正文- {"name": "nhooo"}

输出结果

C:\home\node>> node express.js

Server listening on PORT 3000

nhooo

示例 2

让我们再看一个例子。

// express.json() 演示示例

// 导入 express 模块

var express = require('express');

// 初始化 express 和端口号

var app = express();

var PORT = 3000;

// 不使用json中间件

// app.use(express.json());

// 阅读内容类型

app.post('/', function (req, res) {

   console.log(req.body.name)

   res.end();

})

// 监听端口

app.listen(PORT, function(err){

   if (err) console.log(err);

   console.log("Server listening on PORT", PORT);

});

在命中 API 端点之前,设置以下两个属性

  • 在标题中将内容类型设置为 application/json。

  • 在 POST 请求中传递以下正文- {"name": "nhooo"}

输出结果

C:\home\node>> node express.js

Server listening on PORT 3000

TypeError: Cannot read property 'name' of undefined

at /home/node/test/express.js:15:23

atLayer.handle[as handle_request]

(/home/node/test/node_modules/express/lib/router/layer.js:95:5)

at next

(/home/node/test/node_modules/express/lib/router/route.js:137:13)

at Route.dispatch

(/home/node/test/node_modules/express/lib/router/route.js:112:3)

atLayer.handle[as handle_request]

(/home/node/test/node_modules/express/lib/router/layer.js:95:5)

以上是 Express.js – express.json() 函数 的全部内容, 来源链接: utcz.com/z/327433.html

回到顶部