我有一个端点,可以在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允许这个垃圾我也必须这样做。
答案 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