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


Posted in Javascript onAugust 22, 2019

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

以上就是全部相关代码,大家可以测试下,感谢大家对三水点靠木的支持。

Javascript 相关文章推荐
Javascript变量作用域详解
Dec 06 Javascript
javascript中数组的多种定义方法和常用函数简介
May 09 Javascript
javascript实现字符串反转的方法
Feb 05 Javascript
JavaScript中的方法重载实例
Mar 16 Javascript
javascript结合CSS实现苹果开关按钮特效
Apr 07 Javascript
原生js实现自由拖拽弹窗代码demo
Jun 29 Javascript
微信小程序删除处理详解
Aug 16 Javascript
vue使用xe-utils函数库的具体方法
Mar 06 Javascript
layui使用label标签的方法
Sep 14 Javascript
JavaScript实现图片上传并预览并提交ajax
Sep 30 Javascript
基于Vue中使用节流Lodash throttle详解
Oct 30 Javascript
微信小程序实现选项卡滑动切换
Oct 22 Javascript
微信小程序实现上传图片裁剪图片过程解析
Aug 22 #Javascript
ES6基础之 Promise 对象用法实例详解
Aug 22 #Javascript
ES6基础之数组和对象的拓展实例详解
Aug 22 #Javascript
node express使用HTML模板的方法示例
Aug 22 #Javascript
vue中使用v-model完成组件间的通信
Aug 22 #Javascript
layui动态表头的实现代码
Aug 22 #Javascript
深入理解令牌认证机制(token)
Aug 22 #Javascript
You might like
用PHP实现登陆验证码(类似条行码状)
2006/10/09 PHP
一些php项目中比较通用的php自建函数的详解
2013/06/06 PHP
php文件扩展名判断及获取文件扩展名的N种方法
2015/09/12 PHP
php用户注册信息验证正则表达式
2015/11/12 PHP
php解决约瑟夫环算法实例分析
2019/09/30 PHP
div层的移动及性能优化
2010/11/16 Javascript
JavaScript网页定位详解
2014/01/13 Javascript
js document.write()使用介绍
2014/02/21 Javascript
原生JS绑定滑轮滚动事件兼容常见浏览器
2014/06/30 Javascript
JavaScript实现模仿桌面窗口的方法
2015/07/18 Javascript
JavaScript实现使用Canvas绘制图形的基本教程
2016/10/27 Javascript
JS实现闭包中的沙箱模式示例
2017/09/07 Javascript
微信小程序实现图片上传、删除和预览功能的方法
2017/12/18 Javascript
200行代码实现blockchain 区块链实例详解
2018/03/14 Javascript
vue的token刷新处理的方法
2018/07/17 Javascript
深入浅析Node.js 事件循环、定时器和process.nextTick()
2018/10/22 Javascript
解决Vue项目中tff报错的问题
2020/10/21 Javascript
[07:54]DOTA2 MV《我的动力鞋》 ImbaTV 出品
2014/11/21 DOTA
基于Python的接口测试框架实例
2016/11/04 Python
理论讲解python多进程并发编程
2018/02/09 Python
Python 静态方法和类方法实例分析
2019/11/21 Python
Python3 Tensorlfow:增加或者减小矩阵维度的实现
2020/05/22 Python
python利用线程实现多任务
2020/09/18 Python
如何用Python进行时间序列分解和预测
2021/03/01 Python
小程序瀑布流解决左右两边高度差距过大的问题
2019/02/20 HTML / CSS
微软日本官方网站:Microsoft日本
2017/11/26 全球购物
微软新西兰官方网站:Microsoft New Zealand
2018/08/17 全球购物
英国最大的独立摄影零售商:Park Cameras
2019/11/27 全球购物
大学生毕业求职简历的自我评价
2013/10/24 职场文书
跟单文员的岗位职责
2013/11/14 职场文书
历史教育专业个人求职信
2013/12/13 职场文书
县级文明单位申报材料
2014/05/23 职场文书
中学生自我评价2015
2015/03/03 职场文书
2016年度师德标兵先进事迹材料
2016/02/26 职场文书
浅谈自定义校验注解ConstraintValidator
2021/06/30 Java/Android
MySQL 逻辑备份 into outfile
2022/05/15 MySQL