node的express框架,核心第三方模块body-parser 获取我们所有post请求传过来数据

时间:2024-12-06 17:08:08

- 安装 body-parser模块
- npm install body-parser -S

- 调用
- let bodyParser=require('body-parser');

- 设置中间件
- app.use(bodyParser.urlencoded({extended:true}));

- 判断请求体格式是不是json格式,如果是的话会调用JSON.parse方法把请求体字符串转成对象

- app.use(bodyParser.json());

-上面两个只会有一个生效

- 获取post请求传递过来的参数值
- let user = req.body;

/*
* end 只能接收字符串和buffer
* 但是我们希望很方便传入任意类型
* express提供了send方法,可以接收各种类型数据
*
*中间件模块返回的都是函数,执行这个函数返回的才是中间件
*
* */ let express =require('express');
let bodyParser=require('body-parser');
let app=express();
//此中中间件的作用是获得请求体字符串,然后转成对象赋值给req.body
app.use(bodyParser.urlencoded({extended:true}));
//判断请求体格式是不是json格式,如果是的话会调用JSON.parse方法把请求体字符串转成对象
app.use(bodyParser.json());
//上面两个只会有一个生效
let users=[]; app.get('/users',function (req,res) {
res.send(users)
});
// 我们用post时候,给发送一个用户
// curl -X POST --data '{"name":"wang"}' http://localhost:8080/users
app.post('/users',function (req,res) {
let user = req.body; user.id=Date.now();
users.push(user);
res.send(users)
})
app.listen(8080);