测试的url
http://localhost:3000/api/create?number=100&username=zhangsan
把路径从url里面取出来 const path = url.split("?")[0]
响应头,包含状态码和返回的数据类型
res.writeHead(200,{
"Content-type":"application/json"
})
响应体
// 响应体
const responseBody = {
errno:0,
data:{id:1,},
message:"留言创建成功"
};
res.end()只能返回字符串,所有需要把响应体对象转成字符串
JSON.stringify(responseBody)
完整代码如下:
// index.js
const http = require("http");
// 引入自带的querystring,这是一个方法
const qurerystring = require("querystring");
const server = http.createServer((req, res) => {
const url = req.url;
const method = req.method;
// 获取请求的路径
const path = url.split("?")[0];
// 获取请求的querystring
const queryStr = url.split("?")[1];
// querystring转对象
// 用引入的qureystring模块 把split转出来的参数数组转成字符串 qurerystring.parse(queryStr)
//把这转出来的放到对象里面去
const queryObj = qurerystring.parse(queryStr);
if (path === "/api/list" && method === "GET") {
// res.end(`您正在请求留言板列表接口! 将返回${queryObj.number}条留言!`);
} else if (url === "/api/create" && method === "POST") {
// res.end("this is create api menthod is POST");
// 响应头
res.writeHead(200,{
"Content-type":"application/json"
})
// 响应体
const responseBody = {
errno:0,
data:{id:1,},
message:"留言创建成功"
};
// 响应返回的内容
res.end(JSON.stringify(responseBody))
} else {
//如果接口地址不对
//响应体
res.writeHead(404,{"Content-type“”:"text/plain"})
//响应内容
res.end("404 not found")
}
});
server.listen(3000);
console.log("http请求已经被监听, 3000端口, 请访问: http://localhost:3000");