1. 新建 http.js
const http = require("http");
const querystring = require("querystring");
const server = http.createServer((req, res) => {
// 获取请求的参数:method、path、query
const { method, url } = req;
const path = url.split("?")[0];
const query = querystring.parse(url.split("?")[1]);
// 设置返回数据格式
res.setHeader("Content-type", "application/json");
// 定义返回的数据
const resData = {
method,
url,
path,
query,
message: method === "GET" ? "hello get" : "hello post",
};
// 模拟 get 请求
if (method === "GET") {
res.end(JSON.stringify(resData));
}
// 模拟 post 请求
if (method === "POST") {
let postData = "";
req.on("data", (chunk) => {
postData += chunk.toString();
});
req.on("end", () => {
res.end(JSON.stringify(resData));
});
}
});
// 监听端口
server.listen(8000);
console.log("http server OK");
2. 测试 get 请求
- 在当前终端执行
node http.js
- 在浏览器输入
http://localhost:8000/api/user/manage?id=1
结果
{
"method": "GET",
"url": "/api/user/manage?id=1",
"path": "/api/user/manage",
"query": {
"id": "1"
},
"message": "hello get"
}
3. 测试 post 请求
- 在当前终端执行
node http.js
- 在 postman 接口测试工具中定义 post 接口,请求路径输入
http://localhost:8000/api/login/manage?id=1
结果
{
"method": "POST",
"url": "/api/login/manage?id=1",
"path": "/api/login/manage",
"query": {
"id": "1"
},
"message": "hello post"
}
网友评论