2013-03-20 99 views
1

我有接受JSON无论是在URL或邮件正文(当然POST)快速解析内容PARAMS

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也允许这个垃圾。

+0

你这是什么MEA ñ“更好的方式来看书”? – Trevor 2013-03-21 02:47:34

+1

http://expressjs.com/api.html#req.param – 2013-03-21 04:49:06

回答

1

从快车文档

req.param(名称)

返回时存在的PARAM NAME值。

//?名称= TOBI req.param( '姓名')// => “TOBI”

// POST名称= TOBI req.param( '姓名')// => “TOBI”为/用户

// /用户/ TOBI /:名称req.param( '姓名')// => “TOBI”

这里是查找顺序:

查找按以下顺序执行:

req.params 
req.body 
req.query 
+0

'req.param('name')'现在被取消了。 – petur 2018-02-19 15:11:38

0

情况下使用 req.params:当是休息值例子

/users/:id 

req.body:当POST方法发送数据 req.query:当方法获取例如发送数据

/users?thisIsaVar=thisIsaValue 

OK,expressjs POST方法体