📅  最后修改于: 2023-12-03 15:30:41.438000             🧑  作者: Mango
在使用 Express.js 时,我们经常需要从 HTTP 请求体中读取数据。而 express.text() 函数就是为了解析文本文档而设计的。
express.text()
是一个中间件函数,用于解析 HTTP 请求体中的纯文本数据。
express.text()
的使用方法如下:
const express = require('express');
const app = express();
app.use(express.text());
这样,当 Express 收到一个请求时,它会尝试解析请求体中的文本数据。
express.text()
可以接受一个可选的配置对象作为参数,可以通过该配置对象来设置解析选项。常见的选项包括:
limit
:设置最大请求体大小,单位为字节;type
:需要解析的请求体 MIME 类型;verify
:自定义校验函数,用于校验请求体数据的完整性。下面是一个示例,展示了如何使用 express.text()
来解析纯文本数据:
const express = require('express');
const app = express();
app.use(express.text({
limit: '1mb',
type: 'text/xml'
}));
app.post('/', (req, res) => {
console.log(req.body);
res.send('OK');
});
app.listen(3000);
测试代码:
$ curl -X POST -d "<data>Hello, World!</data>" http://localhost:3000
通过在请求体中发送一个 XML 文档,我们可以看到解析后的数据已经被打印到控制台中了。
在解析请求体时, Express.js 默认会设置一个最大请求体大小的限制。如果请求体的大小超过了限制,解析过程会被终止,并返回 413(表示请求实体过大)状态码。可以通过设置 limit
选项来调整限制大小。
虽然 Express.js 自带了一些默认的校验函数,但有时候我们可能需要自定义校验函数来进行额外的校验。可以通过设置 verify
选项来完成自定义校验函数的配置。