問題: nodejs接口中的的res.body吝岭,res.params三痰,res.query怎么理解
描述: nodejs接口中,搞不清什么時(shí)候取res.body窜管,什么時(shí)候取res.params散劫。
解決: 這三種都是用在接口上獲取前端傳遞到后臺(tái)的參數(shù),只是分別對(duì)應(yīng)的接口類型不同而已微峰,眾所周知舷丹,接口的類型分為多種,常用的包括:GET蜓肆,POST颜凯,DELET,PUT仗扬。
其中:res.params症概,res.query常用于GET或者DELETE請(qǐng)求,res.body常用語POST請(qǐng)求早芭。
res.params的用法
接口傳參
http://localhost:8080/api/getUser/1
通過上面這種傳參的方式傳遞參數(shù)彼城,那么接口里設(shè)置如下,此時(shí)的req.params.id結(jié)果就是1:
app.get('/api/getUser/:id', (req, res) => {
console.log(`id: ${req.params.id}`);
})
res.query的用法
接口傳參
http://localhost:8080/api/getUser/?id=1
通過上面這種傳參的方式傳遞參數(shù)退个,那么接口里設(shè)置如下募壕,此時(shí)的req.query.id結(jié)果就是1:
app.get('/api/getUser', (req, res) => {
console.log(`id: ${req.query.id}`);
})
res.body的用法
接口傳參,此時(shí)的參數(shù)是附加在接口的body里的语盈,在url里是看不出參數(shù)的舱馅,相對(duì)一般用戶而言稍微隱秘些
http://localhost:8080/api/getUser
通過接口看不出參數(shù),假如給接口的body附加一個(gè)對(duì)象,{id:1}刀荒,那接口的參數(shù)的req.body.id結(jié)果就是1:
app.post('/api/getUser', (req, res) => {
console.log(`id: ${req.body.id}`);
})