想要使用node.js写接口我们首先需要使用express插件
npm install express --save
然后创建一个app.js文件
导入express
const express = require('express')
实例化服务器
const app = express()
定义端口
cosnt port = 3000
然后我们用express来写一个get接口
let user = [
{
id: 1,
name: '我是用户1',
age: 18
},
{
id: 2,
name: '我是用户2',
age: 19
},
{
id: 3,
name: '我是用户3',
age: 20
}
]
app.get('/', (req, res) => {
console.log(req.query)
let id = req.query.id
let arr = user.filter(item => item.id == id)
res.send({
message: '数据获取成功',
code: 200,
data: arr
})
})
然后我们来写一个post接口,由于express默认无法解析post请求的参数,所以我们需要一个中间件body-parser来解析post参数
我们先安装body-parser
npm i body-parser
然后导入body
const bodyParser = require('body-parser')
把下面两句话复制粘贴到路由之前解析post参数
app.use(bodyParser.urlencoded({ extended: true }))
// parse application/json
app.use(bodyParser.json())
写post接口
app.post('/', (req, res) => {
let data = req.body
user.push(data)
console.log(data);
res.send({
message: '请求成功',
code: 200,
data: user
})
})
app.listen(port, () => {
console.log('创建服务器成功')
})
终端运行node app.js
运行之后我发现了一个问题就是我获取的req.body为空
我发起post请求之后发现收到的请求体是空的
原因是我没在postman中设置body
在这里我们需要选中x-www-form-urlencoded并且选中raw
设置值为json格式这样我就能成功的使用post请求添加数据了