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 相关文章推荐
js常用自定义公共函数汇总
Jan 15 Javascript
Jquery自定义button按钮的几种方法
Jun 11 Javascript
javascript中parseInt()函数的定义和用法分析
Dec 20 Javascript
javascript数组随机排序实例分析
Jul 22 Javascript
直接拿来用的15个jQuery代码片段
Sep 23 Javascript
JavaScript比较当前时间是否在指定时间段内的方法
Aug 02 Javascript
JS实现的tab切换选项卡效果示例
Feb 28 Javascript
微信小程序 wx:for的使用实例详解
Apr 27 Javascript
Vue添加请求拦截器及vue-resource 拦截器使用
Nov 23 Javascript
vue如何将v-for中的表格导出来
May 07 Javascript
微信小程序接入腾讯云验证码的方法步骤
Jan 07 Javascript
vue完美实现el-table列宽自适应
May 08 Vue.js
微信小程序实现上传图片裁剪图片过程解析
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 preg_match_all结合str_replace替换内容中所有img
2008/10/11 PHP
PHP版微信第三方实现一键登录及获取用户信息的方法
2016/10/14 PHP
使用自定义setTimeout和setInterval使之可以传递参数和对象参数
2009/04/24 Javascript
javascript 一个函数对同一元素的多个事件响应
2009/07/25 Javascript
Jsonp 跨域的原理以及Jquery的解决方案
2010/05/18 Javascript
js 多种变量定义(对象直接量,数组直接量和函数直接量)
2010/05/24 Javascript
浅谈tudou土豆网首页图片延迟加载的效果
2010/06/23 Javascript
jQuery EasyUI API 中文文档 - Tree树使用介绍
2011/11/19 Javascript
利用jQuery的deferred对象实现异步按顺序加载JS文件
2013/03/17 Javascript
减少访问DOM的次数提升javascript性能
2014/02/24 Javascript
jQuery中:reset选择器用法实例
2015/01/04 Javascript
jquery实现页面百叶窗走马灯式翻滚显示效果的方法
2015/03/12 Javascript
JS实现Select的option上下移动的方法
2016/03/01 Javascript
关于预加载InstantClick的问题解决方法
2017/09/12 Javascript
vue2 router 动态传参,多个参数的实例
2017/11/10 Javascript
Vue.js表单标签中的单选按钮、复选按钮和下拉列表的取值问题
2017/11/22 Javascript
详解写好JS条件语句的5条守则
2019/02/28 Javascript
JavaScript实现五子棋游戏的方法详解
2019/07/08 Javascript
如何构建一个Vue插件并生成npm包
2020/10/26 Javascript
[56:35]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第一局
2016/03/06 DOTA
利用Python实现网络测试的脚本分享
2017/05/26 Python
python基于物品协同过滤算法实现代码
2018/05/31 Python
Python实现计算文件MD5和SHA1的方法示例
2019/06/11 Python
pyqt 多窗口之间的相互调用方法
2019/06/19 Python
Python 一键获取百度网盘提取码的方法
2019/08/01 Python
深入剖析webstorage[html5的本地数据处理]
2016/07/11 HTML / CSS
英国领先的互联网葡萄酒礼品商:Vintage Wine & Port
2019/05/24 全球购物
英国豪华家具和经典家居饰品购物网站:OKA
2020/06/05 全球购物
大学自荐信
2013/12/12 职场文书
万年牢教学反思
2014/02/15 职场文书
计算机科学系职业生涯规划书
2014/03/08 职场文书
授权委托书(完整版)
2014/09/10 职场文书
永远跟党走演讲稿
2014/09/12 职场文书
2016年9月份红领巾广播稿
2015/12/21 职场文书
在项目中使用redis做缓存的一些思路
2021/09/14 Redis
苹果macOS 13开发者预览版Beta 8发布 正式版10月发布
2022/09/23 数码科技