req.path、req.params 和 req.query 有啥区别?

Posted

技术标签:

【中文标题】req.path、req.params 和 req.query 有啥区别?【英文标题】:What is the difference between req.path, req.params and req.query?req.path、req.params 和 req.query 有什么区别? 【发布时间】:2019-03-26 08:44:34 【问题描述】:

谁能解释 node.js 中 req.pathreq.paramsreq.queryreq.body 之间的区别?

【问题讨论】:

能否请您添加您需要创建的示例?什么不适合你? 我正在使用假 apis 【参考方案1】:

您提到的所有实体都用于发送请求中的数据,除了req.path。它的发送方式不同。

这里有一个例子来清除你的想法:

req.path:

当前请求的虚拟路径 网址:https://***.com/questions/52926562 示例:req.path 将为您提供:52926562

req.params:

获取 QueryString、Form、Cookie 和 ServerVariables 项的组合集合。 www.dogsworld.com/1(路线:www.dogsworld.com/:dogId)

req.query:

客户端发送的查询字符串变量。键和值经过 URL 解码 www.dogsworld.com?breed=asian&name=tommy

req.body:

消息正文 示例: 名称:“汤米”, 品种:“亚洲”

欢迎任何更新!

【讨论】:

谢谢亲爱的我明白了。它对我有很大帮助。【参考方案2】:

req.path、req.params、req.query 基本上是基于路由的操作的一部分。 1. req.path : 返回给定请求 url 的路径名。 2. req.params:用于获取请求url的参数值。 3.req.query:用于获取请求url中嵌入的查询值。

示例:对于 url :https://your_url.com/52926562?value="test"

app.get('/:id', (req, res)=>
    /*Return the path of the request*/
    console.log(req.path);
    /*Return the id of the request url*/
    console.log(req.params.id);
    /*Return the path of the request*/
    console.log(req.query.value);
    res.send('ok');
)

【讨论】:

【参考方案3】:

1) req.path 用于获取用户点击的当前url。

2) req.query 用于获取 url 中的查询参数。

3) req.body 用于获取用户发送的请求载荷。

【讨论】:

以上是关于req.path、req.params 和 req.query 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

Node.js:req.query[] 和 req.params 之间的区别

Node.js:req.params 与 req.body

req.params 不是函数

Mongoose .find 带有 req.params 数组?和 res.json 每个值和计数的数组?

节点从 req.params.id 结果中取出数组

我错过了啥?使用 axios 执行删除请求,使用 mongodb 作为 bakcend 使用 req.params.id 进行故障排除