1.准备工作
创建项目文件夹(job)
准备好事先写好的html,放入public文件夹中
统一配置好地址
初始化node,下载express包
创建书写接口代码的js文件(server.js)
2.静态资源托管
const express = require('express')
const app = express()
//静态资源托管
app.use(express.static('public'))
app.listen('8070', () => {
console.log('8070已就绪');
})
3.登录功能接口
要求:
代码:
//登录
app.use(express.urlencoded())
app.post('/api/login', (req, res) => {
console.log(req.body);
res.send(req.body)
})
运行并使用postman测试:
4.获取用户信息
要求:
代码:
// 获取用户信息
app.get('/my/user/userinfo', (req, res) => {
const msgs = [
{
"id": 1,
"username": "laotang",
"nickname": "male",
"email": "male@qq.com",
"user_pic": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAe"
}
]
if (req.query.id !== undefined) {
const msg = msgs.find(item => item.id == req.query.id)
if (msg) {
res.json({
"status": 0,
"message": "获取用户信息成功",
"data": msg
})
} else {
res.json({
"status": 1,
"message": "获取用户信息失败"
})
}
} else {
const data = {
"status": 0,
"message": "获取用户信息成功",
"data": msgs
}
res.json(data)
}
})
postman测试:
设置参数id的值是数据中的一个时:返回改id的对应数据
当参数id的值不为数据中的任何一个时:信息获取失败
当没有输入参数id时,会获取所有信息:
5.添加文章
要求:
因为需要上传文件,因此只能使用form-data
代码:
//添加文章 (form-data)
const multer = require('multer')
const upload = multer({ dest: 'uploads/' })
app.post("/my/article/add", upload.single('file'), function (req, res) {
console.log(req.body);
console.log(req.file);
res.send({ file: req.file, body: req.body })
})
postman测试: