node.js - 快速解析正文或查询参数中的内容

标签 node.js express

我有一个端点,可以在 URL 或消息正文中接受 json(当然是 POST)

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

我知道来自服务器的新书 JSON 将是一个查询参数

<server>/book/addBooks?books=[{...},{...}]

或者来自 body

<server>/book/addBooks

正文:

books=[{...},{...}]

基本上我正在检查两者:

req.body.books

req.query.books

并选择第一个有内容的。有没有更好的方法来快速获取“书籍”?

旁注:在你丢弃可以传入 url 或 body 的事实之前,我正在编写一个模仿另一个 API 的服务,因为另一个 API 也允许这种垃圾,我也必须这么做。

最佳答案

来自 Express 文档

req.param(name)

Return the value of param name when present.

// ?name=tobi req.param('name') // => "tobi"

// POST name=tobi req.param('name') // => "tobi"

// /user/tobi for /user/:name req.param('name') // => "tobi"

这是查找顺序:

Lookup is performed in the following order:

req.params
req.body
req.query

关于node.js - 快速解析正文或查询参数中的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15535759/

相关文章:

javascript - NodeJS ExpressJS 如何打印API结果数组?

node.js - 获取 504 GATEWAY_TIMEOUT NodeJs

javascript - NodeJS、Express、原型(prototype)中的变量范围问题

javascript - 如何使用加密创建随机盐哈希

node.js - 能够使用 Polymer 3 解析模块,但不能使用 Lit Element

node.js - 将 Twilio 服务部署到 Heroku 时出错

node.js - 如何以 Angular 显示 Node 服务器上保存的图像

node.js - npm 安装失败。云9IDE

node.js - 如何使用 docker-compose 运行 Express 和 Mongo

javascript - 表达 js :multiple route files into single file