快速解析正文或查询参数中的内容

时间:2013-03-20 22:11:04

标签: node.js express

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

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

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

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

或来自身体

<server>/book/addBooks

体:

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

基本上我正在检查两者:

req.body.books

req.query.books

选择第一个有内容的人。是否有更好的方法来获取快递中的“书籍”?

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

2 个答案:

答案 0 :(得分:1)

来自快递文档

  

req.param(名称)

     

当存在时返回param名称的值。

     

//?name = tobi req.param('name')// =&gt; “TOBI”

     

// POST name = tobi req.param('name')// =&gt; “TOBI”

     

// / user / tobi for / user /:name req.param('name')// =&gt; “TOBI”

这是查找顺序:

  

按以下顺序执行查找:

req.params
req.body
req.query

答案 1 :(得分:0)

案件使用 req.params:何时是休息值示例

/users/:id  

req.body:发送方法发布数据时 req.query:为方法获取示例发送数据时

 /users?thisIsaVar=thisIsaValue 

好的,表达post方法是body