1

我有一个在 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 允许这个垃圾我也必须这样做。

4

2 回答 2

1

来自快递文档

req.param(名称)

存在时返回参数名称的值。

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

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

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

这是查找顺序:

查找按以下顺序执行:

req.params
req.body
req.query
于 2013-03-25T16:56:54.337 回答
0

案例使用 req.params :什么时候是一个休息值的例子

/users/:id  

req.body : 当为方法 post 发送数据时 req.query : 当为方法 get 发送数据时

 /users?thisIsaVar=thisIsaValue 

好的,expressjs的post方法是body

于 2015-08-31T22:02:27.893 回答