POST请求url的,在 postman正常执行并返回响应内容

367 阅读1分钟

测试的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");

postman测试结果如下

image.png