创建基本的服务器
const express = require('express');
const indexRouter = require('./router');
const app = express();
const port = 3000;
app.use('/api', indexRouter);
app.listen(port, () => {
console.log(`Server is running on http://localhost:${port}`);
});
创建路由文件
const express = require('express');
const router = express.Router();
module.exports = router;
实现GET请求
router.get('/get', (req, res) => {
const query = req.query;
console.log(query, 'query')
res.send({
code: 0,
msg: 'GET请求成功',
data: query,
});
});

实现POST请求
方式1:form-data,Express默认不会解析form-data,因为它通常用于文件上传,需要额外的处理。你可以使用multer这个中间件来处理multipart/form-data(也就是form-data)类型的请求。multer是专门为Express设计的,用于处理多部分/表单数据,这包括上传文件。
const storage = multer.memoryStorage();
const upload = multer({ storage: storage });
router.post('/upload', upload.single('file'), (req, res) => {
const body = req.body;
console.log(body, 'body')
res.send({
code: 0,
msg: 'POST请求成功',
data: body,
});
});

方式2:urlencoded,想要获取url-encoded请求体的数据,需要引入对应的中间件。
app.use(express.urlencoded({extended: false}))
router.post('/post', (req, res) => {
const body = req.body;
console.log(body, 'body')
res.send({
code: 0,
msg: 'POST请求成功',
data: body,
});
});

全部代码
index.js
const express = require('express');
const indexRouter = require('./router');
const app = express();
const port = 3000;
app.use(express.urlencoded({extended: false}))
app.use('/api', indexRouter);
app.listen(port, () => {
console.log(`Server is running on http://localhost:${port}`);
});
router.js
const express = require('express');
const multer = require('multer');
const router = express.Router();
const storage = multer.memoryStorage();
const upload = multer({ storage: storage });
router.get('/get', (req, res) => {
const query = req.query;
console.log(query, 'query')
res.send({
code: 0,
msg: 'GET请求成功',
data: query,
});
});
router.post('/upload', upload.single('file'), (req, res) => {
const body = req.body;
console.log(body, 'body')
res.send({
code: 0,
msg: 'POST请求成功',
data: body,
});
});
router.post('/post', (req, res) => {
const body = req.body;
console.log(body, 'body')
res.send({
code: 0,
msg: 'POST请求成功',
data: body,
});
});
module.exports = router;