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

所属分类: 网络编程 / JavaScript 阅读数: 1600
收藏 0 赞 0 分享

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");
});

以上就是全部相关代码,大家可以测试下,感谢大家对脚本之家的支持。

更多精彩内容其他人还在看

深入解析Vue 组件命名那些事

本篇文章主要介绍了深入解析Vue 组件命名那些事,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Vue学习笔记进阶篇之vue-cli安装及介绍

这篇文章主要介绍了Vue学习笔记进阶篇之vue-cli安装及介绍,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

jquery版轮播图效果和extend扩展

这篇文章主要为大家详细介绍了jquery版轮播图效果,以及extend扩展的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

jQuery Validate格式验证功能实例代码(包括重名验证)

本文通过实例代码给大家介绍了jQuery Validate格式验证功能,代码中包括重名验证的方法,需要的的朋友参考下吧
收藏 0 赞 0 分享

Angular.js中angular-ui-router的简单实践

本篇文章主要介绍了Angular.js中angular-ui-router的简单实践,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

JavaScript实现二维坐标点排序效果

这篇文章主要为大家详细介绍了JavaScript实现二维坐标点排序效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

深入理解vue2.0路由如何配置问题

本篇文章主要介绍了vue2.0路由配置问题,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

基于bootstrap实现多个下拉框同时搜索功能

这篇文章主要为大家详细介绍了基于bootstrap实现多个下拉框同时搜索功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

JavaScript 值类型和引用类型的初次研究(推荐)

这篇文章主要介绍了JavaScript 值类型和引用类型的初次研究,需要的朋友可以参考下
收藏 0 赞 0 分享

利用jQuery异步上传文件的插件用法详解

这篇文章主要介绍了利用jQuery异步上传文件的插件用法详解,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多