Node基础——express接口获取request参数的三种方式

express接口获取request参数的三种方式

一、req.query()

req.query()可以用来获取接口请求中拼接在链接"?"后边的参数,主要用于get请求,post请求也适用。
req.query()被express原生支持,并且会自动将参数转换为对象形式返回。
例如:
请求:

app.get('http://localhost:5050/server?p=user&q=password').then(resp=>{})

express接口:

let express = require('express')
let server = express()
server.get('/server',(req,resp)=>{
    console.log(req.query);
    resp.send('')
})
server.listen(5050,()=>{
    console.log('服务器已就绪')
})

请求后得到的结果:
在这里插入图片描述

二、req.params()

req.params()有些特殊,它适用于在url链接上传递数据参数,需要后台接口用==:变量名==的写法发起请求。
请求:

app.get('http://localhost:5050/nums/1000').then(resp => {})

express接口:

let express = require('express')
let server = express();
server.get('/nums/:num', (req, resp) => {
  console.log(req.params);
  resp.send('')
})
server.listen(5050, () =>{
	 console.log('服务器已就绪')
})

请求后得到的结果:
在这里插入图片描述
按照==:变量名==的方法也可以同时接收多个参数:
请求:

app.get('http://localhost:5050/nums/1000-2000/zhangsan').then(resp => {})

express接口:

let express = require('express')
let server = express();
server.get('/nums/:num1-:num2/:name', (req, resp) => {
  console.log(req.params);
  resp.send('')
})
server.listen(5050, () => {
	console.log('服务器已就绪')
})

请求之后的结果:
在这里插入图片描述

三、req.body()

req.body()并被原生express所支持,需要使用一些第三方库来进行格式转换,这里使用的是body-parser库。转换过后就可以直接使用req.body()获取post请求的表单数据。
请求:

app.post('http://localhost:5050/people',{name: 'zhangsan', age: 15} ).then(resp => {})

express接口:

let express = require('express')
let server = express();
// 用 body-parser 库进行数据格式转换
let bodyParser = require("body-parser")
// 是否进行url解码
server.use(bodyParser.urlencoded({extended:true})) 
 // 将数据转换为json格式
server.use(bodyParser.json())
server.post('/people', (req, resp) => {
  console.log(req.body');
  resp.send('')
})
server.listen(5050, () => console.log('服务器已就绪'))

请求之后的结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值