node实现简单的增删改查接口

// 数据存储在users.json文件中
const express = require("express");
const fs = require("fs");
const cors = require("cors");
const bodyParser = require("body-parser");
const app = express();

app.use(cors({ origin: "*" })); // fix 跨域
app.use(bodyParser.json()); // for parsing application/json
app.use(bodyParser.urlencoded({ extended: true })); // for parsing application/x-www-form-urlencoded

// 新增
app.post("/addUser", (req, res) => {
  fs.readFile("./users.json", "utf8", (err, data) => {
    if (err) {
      throw err;
    }
    data = data ? JSON.parse(data) : [];
    data.push(req.body);
    fs.writeFile("./users.json", JSON.stringify(data), err => {
      if (err) throw err;
      res.end();
    });
  });
});

// 删除
app.delete("/delUser/:id", (req, res) => {
  const id = req.params.id;
  fs.readFile("./users.json", "utf8", (err, data) => {
    data = JSON.parse(data) || [];
    const saveData = data.filter(item => item.id != id);
    fs.writeFile("./users.json", JSON.stringify(saveData), err => {
      if (err) throw err;
      res.end();
    });
  });
});

// 修改
app.put("/update/:id", (req, res) => {
  const id = req.params.id;
  const body = req.body;
  fs.readFile(__dirname + "/" + "users.json", "utf8", (err, data) => {
    const userList = (data && JSON.parse(data)) || [];
    const index = userList.findIndex(item => item.id == id);
    userList[index] = { ...userList[index], ...body };
    fs.writeFile("./users.json", JSON.stringify(userList), err => {
      if (err) throw err;
      console.log("修改");
      res.end();
    });
  });
});

// 列表查询
app.get("/listUsers", function(req, res) {
    fs.readFile(__dirname + "/" + "users.json", "utf8", function(err, data) {
      console.log(data);
      res.end(data);
    });

});


app.listen(8081, function() {
  console.log("访问地址: http://localhost:8081");
});

猜你喜欢

转载自www.cnblogs.com/hlandzpy/p/11394143.html