node 项目笔记---路由开发(三)

node 项目笔记—路由开发(三)

一、新建model目录

新建文件resModel.js

class BaseModel {
    
    
  constructor(data, message) {
    
    
    if (typeof data === "string") {
    
    
      this.message = data;
      date = null;
      message = null;
    }
    if (data) {
    
    
      this.data = data;
    }
    if (message) {
    
    
      this.message = message;
    }
  }
}

class sucessModel extends BaseModel {
    
    
  constructor(data, message) {
    
    
    super(data, message);
    this.errno = 0;
  }
}

class errorModel extends BaseModel {
    
    
  constructor(data, message) {
    
    
    super(data, message);
    this.errno = -1;
  }
}
module.exports = {
    
    
  sucessModel,
  errorModel
};

二、新建controller目录

新建blog.js

const getList = (author, keyword) => {
    
    
  //先返回一个假数据
  return [
    {
    
    
      id: 1,
      title: "标题A",
      content: "内容A",
      createTime: 1597914688046,
      author: "陈怂怂"
    },
    {
    
    
      id: 2,
      title: "标题B",
      content: "内容B",
      createTime: 1597966688046,
      author: "陈快乐"
    }
  ];
};

module.exports = {
    
    
  getList
};

三、修改router目录中的blog.js


  if (method === "GET" && req.path === "/api/blog/list") {
    
    
    const author = req.query.author || "";
    const keyword = req.query.keyword || "";
    const listData = getList(author, keyword);
    return new sucessModel(listData);
  }

四、修改app.js


const querystring = require("querystring");

const handleUserRouter = require("./src/router/user");
const handleBlogRouter = require("./src/router/blog");

const serverHandle = (req, res) => {
    
    
  res.setHeader("Content-type", "application/json");

  const url = req.url;
  req.path = url.split("?")[0];
  //解析query
  req.query = querystring.parse(url.split("?")[1]);

  const blogData = handleBlogRouter(req, res);
  if (blogData) {
    
    
    res.end(JSON.stringify(blogData));
    return;
  }

  const userData = handleUserRouter(req, res);
  if (userData) {
    
    
    res.end(JSON.stringify(userData));
    return;
  }

  res.writeHead(404, {
    
     "Content-type": "text/plain" });
  res.write("NOT FOUNT");
  res.end();
};
module.exports = serverHandle;

这样我们就可以获取到自己返回的假数据了
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42581563/article/details/108140336