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 相关文章推荐
jquery判断单个复选框是否被选中的代码
Sep 03 Javascript
javascript实现3D切换焦点图
Oct 16 Javascript
javascript实现右侧弹出“分享到”窗口效果
Feb 01 Javascript
JavaScript  cookie 跨域访问之广告推广
Apr 20 Javascript
简单谈谈Vue 模板各类数据绑定
Sep 25 Javascript
canvas绘制表盘时钟
Jan 23 Javascript
react系列从零开始_简单谈谈react
Jul 06 Javascript
vue2.0中set添加属性后视图不能更新的解决办法
Feb 22 Javascript
JS如何寻找数组中心索引过程解析
Jun 01 Javascript
Vue实现背景更换颜色操作
Jul 17 Javascript
Openlayers+EasyUI Tree动态实现图层控制
Sep 28 Javascript
JavaScript实现网页计算器功能
Oct 29 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
采用header定义为文件然后readfile下载(隐藏下载地址)
2014/01/31 PHP
php ci框架中加载css和js文件失败的原因及解决方法
2014/07/29 PHP
php发送与接收流文件的方法
2015/02/11 PHP
ThinkPHP中where()使用方法详解
2016/04/19 PHP
PHP的AES加密算法完整实例
2016/07/20 PHP
php 调用ffmpeg获取视频信息的简单实现
2017/04/03 PHP
PHP addcslashes()函数讲解
2019/02/03 PHP
JQuery下关于$.Ready()的分析
2009/12/13 Javascript
IE6下通过a标签点击切换图片的问题
2010/11/14 Javascript
JS判断元素为数字的奇异写法分享
2012/08/01 Javascript
javascript中new关键字详解
2015/12/14 Javascript
javascript基础语法学习笔记
2016/01/04 Javascript
分步解析JavaScript实现tab选项卡自动切换功能
2016/01/25 Javascript
jquery form表单获取内容以及绑定数据
2016/02/24 Javascript
Javascript实现图片不间断滚动的代码
2016/06/22 Javascript
BOM之navigator对象和用户代理检测
2017/02/10 Javascript
javascript 组合按键事件监听实现代码
2017/02/21 Javascript
js中的DOM模拟购物车功能
2017/03/22 Javascript
基于jQuery实现图片推拉门动画效果的两种方法
2017/08/26 jQuery
React Native自定义控件底部抽屉菜单的示例
2018/02/08 Javascript
JS抛物线动画实例制作
2018/02/24 Javascript
JS 实现缓存算法的示例(FIFO/LRU)
2018/03/20 Javascript
vue写h5页面的方法总结
2019/02/12 Javascript
python中lambda与def用法对比实例分析
2015/04/30 Python
python引入导入自定义模块和外部文件的实例
2017/07/24 Python
python requests 库请求带有文件参数的接口实例
2019/01/03 Python
python实现按键精灵找色点击功能教程,使用pywin32和Pillow库
2020/06/04 Python
中国跨镜手机配件批发在线商店:TVC-Mall
2019/08/20 全球购物
戴尔荷兰官方网站:Dell荷兰
2020/10/04 全球购物
专科毕业生就业推荐信
2013/11/01 职场文书
高中军训感言200字
2014/02/23 职场文书
2014年行政后勤工作总结
2014/12/06 职场文书
行政撤诉申请书
2015/05/18 职场文书
Idea连接MySQL数据库出现中文乱码的问题
2021/04/14 MySQL
CSS3中Animation实现简单的手指点击动画的示例
2021/07/15 HTML / CSS
MySQL 数据类型详情
2021/11/11 MySQL