用node写后台接口 (后台管理系统)

第一步 先下载express 

- npm install express -S -

引入express  创建服务器  

  1.  
    const express = require('express')
  2.  
    const app = express()
  3.  
    app.listen(5000, ()=>{
  4.  
    // 打印一下
  5.  
    console.log('http://127.0.0.1:5000')
  6.  
    })

第二步 连接数据库

连接数据库需要下载  mysql

npm install mysql -S -

然后引入mysql  另外req.body需要对表单数据进行解析 所以还需引入body-parser

  1.  
    // 创建数据库连接
  2.  
    const mysql = require('mysql')
  3.  
    const conn = mysql.createConnection({
  4.  
    host:'localhost',
  5.  
    user:'root',
  6.  
    password:'',
  7.  
    database:'test'
  8.  
    })
  9.  
    // 祖册 解析表单的body-parser
  10.  
    const bodyParser = require('body-parser')
  11.  
    app.use(bodyParser.urlencoded({extended:false}))

 

接下来就开始做接口了

先获取数据

  1.  
    // 获取所有的数据
  2.  
    app.get('/api/getheros',(req,res) => {
  3.  
    // 定义SQL语句
  4.  
    const sqlStr = 'select * from text where isdel=0'
  5.  
    conn.query(sqlStr,(err,results) => {
  6.  
    console.log(results)
  7.  
    if(err) return res.json({err_code:1,message:'获取失败',affectedRows:0})
  8.  
    res.json({
  9.  
    err_code:0,message:results,affectedRows:0
  10.  
    })
  11.  
    })
  12.  
    })

字码完后 先运行看看

输入API接口 

欧了,我们第一步 获取数据 也算完成了  喝杯茶~~~~

OK 茶喝完了我们继续 

接下来我们要做的是根据ID获取对应ID的数据

不多比比 看代码

  1.  
    // 根据ID 获取相关数据
  2.  
    app.get('/api/gethero',(req,res) => {
  3.  
    const id = req.query.id
  4.  
    const sqlStr = 'select * from text where id = ?'
  5.  
    conn.query(sqlStr,id,(err,results) => {
  6.  
    if(err) return res.json({err_code:1,message:'获取数据失败',affectedRows:0})
  7.  
    if(results.length !== 1) return res.json({err_code:1,message:'数据不存在',affectedRows:0})
  8.  
    res.json({
  9.  
    err_code:0,
  10.  
    message:results[0],
  11.  
    affectedRows:0
  12.  
    })
  13.  
    })
  14.  
    })

..........................................................

我们再来试一下 比如我们传一个 id=1

哎呀呀 也是非常顺利呀 对应的数据获取到了 OK 缓一缓

接下来我们做删除

  1.  
    // 根据ID 删除数据
  2.  
    app.get('/api/delhero',(req,res) => {
  3.  
    const id = req.query.id
  4.  
    const sqlStr = 'update text set isdel = 1 where id=?'
  5.  
    conn.query(sqlStr,id,(err,results) => {
  6.  
    if(err) return res.json({err_code:1,message:'删除英雄失败',affectedRows:0})
  7.  
    if(results.affectedRows !== 1) return res.json({err_code:1,message:'删除英雄失败',affectedRows:0})
  8.  
    res.json({err_code:0,message:'删除英雄成功',affectedRows:results.affectedRows})
  9.  
    })
  10.  
    })

OK 删除成功 我们在看看本地数据库 里

欧了  数据库里面变样了 软删除成功

然后我们再来完成添加的功能 看代码

  1.  
    // 添加数据
  2.  
    app.post('/api/addhero',(req,res) => {
  3.  
    const hero = req.body
  4.  
    console.log(hero)
  5.  
    const sqlStr = 'insert into text set ?'
  6.  
    conn.query(sqlStr,hero,(err,results) => {
  7.  
    if(err) return res.json({err_code:1,message:'添加失败',affectedRows:0})
  8.  
    if(results.affectedRows !== 1) return res.json({err_code:1,message:'添加失败',affectedRows:0})
  9.  
    res.json({err_code:0,message:'添加成功',affectedRows:results.affectedRows})
  10.  
    })
  11.  
    })

写入数据 我们可以看到再次成功了 

可以看到 数据库里面的数据也添加成功了

还有最后一个  修改的功能  需要获得修改后的数据 

  1.  
    app.post('/api/updatehero',(req,res) => {
  2.  
    const sqlStr = 'update text set ? where id = ?'
  3.  
    conn.query(sqlStr,[req.body,req.body.id],(err,results) => {
  4.  
    if(err) return res.json({err_code:1,message:'更新英雄失败',affevtedRows:0})
  5.  
    //影响行数不等于1
  6.  
    if(results.affectedRows !== 1) return res.json({err_code:1,message:'更新的英雄不存在',affectedRows:0})
  7.  
    res.json({err_code:0,message:'更新成功',affectedRows:results.affectedRows})
  8.  
    })
  9.  
    })

我们可以看到 我们修改的id为3  下面一看得到 更新成功 

再来看看数据库里的数据 这是更新前的

更新后如下 

美滋滋  OKOKOK  追后一步搞完鸟  GG 

OK 今天我们就做到这里了 后台管理系统的接口差不多就这么多 本宝宝也是刚入手 有什么错的地方 不全的地方 谢谢各位大牛补充

实现后的样子

原文地址:https://www.cnblogs.com/1549983239yifeng/p/14234910.html