面试题答案
一键面试const express = require('express');
const app = express();
const port = 3000;
// 使用 express.json() 中间件来解析 JSON 格式的请求体
app.use(express.json());
// 处理 GET 请求
app.get('/getParam', (req, res) => {
const paramValue = req.query.param;
res.send(`参数值为: ${paramValue}`);
});
// 处理 POST 请求
app.post('/processJSON', (req, res) => {
const data = req.body;
// 这里可以对 data 进行处理,比如计算某个字段的和等
const processedResult = { message: '处理后的结果', data };
res.json(processedResult);
});
app.listen(port, () => {
console.log(`服务器在端口 ${port} 上运行`);
});
Express 中间件在这两个过程中的作用:
- 在上述代码中,
express.json()
是一个中间件。它的作用是解析 incoming requests with JSON payloads,也就是将请求体中的 JSON 数据解析成 JavaScript 对象挂载到req.body
上,这样在处理 POST 请求时,我们就能很方便地获取到客户端发送的 JSON 数据。对于 GET 请求,虽然这里没有直接体现中间件对其特定的作用,但像express.static
这样的中间件可以用来处理静态资源,express.urlencoded()
可以用来解析 URL 编码格式的数据,这些中间件可以帮助我们在处理 GET 请求时更全面地处理不同类型的数据请求。