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制作的幻灯片图集效果打包下载
Feb 12 Javascript
js this函数调用无需再次抓获id,name或标签名
Mar 03 Javascript
jQuery实现购物车数字加减效果
Mar 14 Javascript
DropDownList控件绑定数据源的三种方法
Dec 24 Javascript
基于jQuery制作小图标上下滑动特效
Jan 18 Javascript
JavaScript面向对象的程序设计(犯迷糊的小羊)
May 27 Javascript
jQuery时间戳和日期相互转换操作示例
Dec 07 jQuery
JS实现的全选、全不选及反选功能【案例】
Feb 19 Javascript
零基础之Node.js搭建API服务器的详解
Mar 08 Javascript
微信小程序中如何使用flyio封装网络请求
Jul 03 Javascript
Vuex模块化应用实践示例
Feb 03 Javascript
小程序实现上下切换位置
Nov 16 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中使用模板的方法
2008/05/24 PHP
PHP设计模式之装饰者模式
2012/02/29 PHP
php中计算程序运行时间的类代码
2012/11/03 PHP
PHP使用array_fill定义多维数组的方法
2015/03/18 PHP
24条货真价实的PHP代码优化技巧
2016/07/28 PHP
ThinkPHP5框架中使用JWT的方法示例
2020/06/03 PHP
js类 from qq
2006/11/13 Javascript
找到了一篇jQuery与Prototype并存的冲突的解决方法
2007/08/29 Javascript
JavaScript及jquey实现多个数组的合并操作
2014/09/06 Javascript
兼容各大浏览器的JavaScript阻止事件冒泡代码
2015/07/09 Javascript
[原创]jQuery常用的4种加载方式分析
2016/07/25 Javascript
webpack配置文件和常用配置项介绍
2017/04/28 Javascript
基于Vue实现后台系统权限控制的示例代码
2017/08/29 Javascript
JS实现页面内跳转的简单代码
2017/09/03 Javascript
JSON在Javascript中的使用(eval和JSON.parse的区别)详细解析
2017/09/05 Javascript
新手简单了解vue
2019/05/29 Javascript
Vue formData实现图片上传
2019/08/20 Javascript
使用JavaScript获取扫码枪扫描得到的条形码的思路代码详解
2020/06/10 Javascript
vue cli 3.0通用打包配置代码,不分一二级目录
2020/09/02 Javascript
零基础写python爬虫之urllib2使用指南
2014/11/05 Python
windows10下python3.5 pip3安装图文教程
2018/04/02 Python
Python实现统计给定列表中指定数字出现次数的方法
2018/04/11 Python
tensorflow实现训练变量checkpoint的保存与读取
2020/02/10 Python
关于Python3爬虫利器Appium的安装步骤
2020/07/29 Python
关于PySnooper 永远不要使用print进行调试的问题
2021/03/04 Python
美国机场停车位预订:About Airport Parking
2018/03/26 全球购物
Myholidays美国:在线旅游网站
2019/08/16 全球购物
公关关系专员的自我评价分享
2013/11/20 职场文书
管理失职检讨书
2014/02/12 职场文书
2015年营业员工作总结
2015/04/23 职场文书
党员承诺书格式范文
2015/04/28 职场文书
高中运动会广播稿
2015/08/19 职场文书
Springboot集成阿里云OSS上传文件系统教程
2021/06/28 Java/Android
python读取mnist数据集方法案例详解
2021/09/04 Python
javascript之Object.assign()的痛点分析
2022/03/03 Javascript
Docker与K8s关系介绍不会Docker也可以使用K8s
2022/06/25 Servers