用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 今天我們就做到這里了 后台管理系統的接口差不多就這么多 本寶寶也是剛入手 有什么錯的地方 不全的地方 謝謝各位大牛補充

 

實現后的樣子


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM