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.path
、req.params
、req.query
和 req.body
之间的区别?
【问题讨论】:
能否请您添加您需要创建的示例?什么不适合你? 我正在使用假 apis 【参考方案1】:您提到的所有实体都用于发送请求中的数据,除了req.path。它的发送方式不同。
这里有一个例子来清除你的想法:
req.path:
当前请求的虚拟路径 网址:https://***.com/questions/52926562 示例:req.path 将为您提供:52926562req.params:
获取 QueryString、Form、Cookie 和 ServerVariables 项的组合集合。 www.dogsworld.com/1(路线:www.dogsworld.com/:dogId)req.query:
客户端发送的查询字符串变量。键和值经过 URL 解码 www.dogsworld.com?breed=asian&name=tommyreq.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 之间的区别
Mongoose .find 带有 req.params 数组?和 res.json 每个值和计数的数组?
我错过了啥?使用 axios 执行删除请求,使用 mongodb 作为 bakcend 使用 req.params.id 进行故障排除