- 主要步骤:
- 引入必要模块:在Node.js中,使用
http
模块创建HTTP服务器来处理请求,url
模块用于解析URL,querystring
模块(或JSON
对象)用于处理请求体数据。
- 创建HTTP服务器:通过
http.createServer
方法创建服务器实例。
- 监听请求事件:服务器实例监听
request
事件,在事件处理函数中处理接收到的请求。
- 解析请求:获取请求方法和URL,检查是否是POST请求。如果是POST请求,收集请求体数据。
- 处理请求体数据:将收集到的请求体数据解析为JSON格式,进行简单处理。
- 发送响应:根据处理结果构造响应,设置响应头和状态码,将处理后的数据作为响应体发送回前端。
- 关键代码示例:
const http = require('http');
const url = require('url');
const querystring = require('querystring');
const server = http.createServer((req, res) => {
const { method, url: requestUrl } = req;
const parsedUrl = url.parse(requestUrl);
if (method === 'POST' && parsedUrl.pathname === '/your - api - endpoint') {
let body = '';
req.on('data', chunk => {
body += chunk.toString();
});
req.on('end', () => {
try {
const data = JSON.parse(body);
// 简单处理数据,例如添加一个属性
data.processed = 'This data has been processed';
res.writeHead(200, { 'Content - Type': 'application/json' });
res.end(JSON.stringify(data));
} catch (error) {
res.writeHead(400, { 'Content - Type': 'application/json' });
res.end(JSON.stringify({ error: 'Invalid JSON data' }));
}
});
} else {
res.writeHead(404);
res.end();
}
});
const port = 3000;
server.listen(port, () => {
console.log(`Server running on port ${port}`);
});