第一步 先下載express
- npm install express -S -
引入express 創建服務器
-
const express = require('express')
-
const app = express()
-
app.listen( 5000, ()=>{
-
// 打印一下
-
console.log('http://127.0.0.1:5000')
-
})
第二步 連接數據庫
連接數據庫需要下載 mysql
- npm install mysql -S -
然后引入mysql 另外req.body需要對表單數據進行解析 所以還需引入body-parser
-
// 創建數據庫連接
-
const mysql = require('mysql')
-
const conn = mysql.createConnection({
-
host:'localhost',
-
user:'root',
-
password:'',
-
database:'test'
-
})
-
// 祖冊 解析表單的body-parser
-
const bodyParser = require('body-parser')
-
app.use(bodyParser.urlencoded({ extended:false}))
接下來就開始做接口了
先獲取數據
-
// 獲取所有的數據
-
app.get( '/api/getheros',(req,res) => {
-
// 定義SQL語句
-
const sqlStr = 'select * from text where isdel=0'
-
conn.query(sqlStr, (err,results) => {
-
console.log(results)
-
if(err) return res.json({err_code:1,message:'獲取失敗',affectedRows:0})
-
res.json({
-
err_code:0,message:results,affectedRows:0
-
})
-
})
-
})
字碼完后 先運行看看
輸入API接口
歐了,我們第一步 獲取數據 也算完成了 喝杯茶~~~~
OK 茶喝完了我們繼續
接下來我們要做的是根據ID獲取對應ID的數據
不多比比 看代碼
-
// 根據ID 獲取相關數據
-
app.get( '/api/gethero',(req,res) => {
-
const id = req.query.id
-
const sqlStr = 'select * from text where id = ?'
-
conn.query(sqlStr,id, (err,results) => {
-
if(err) return res.json({err_code:1,message:'獲取數據失敗',affectedRows:0})
-
if(results.length !== 1) return res.json({err_code:1,message:'數據不存在',affectedRows:0})
-
res.json({
-
err_code:0,
-
message:results[0],
-
affectedRows:0
-
})
-
})
-
})
..........................................................
我們再來試一下 比如我們傳一個 id=1
哎呀呀 也是非常順利呀 對應的數據獲取到了 OK 緩一緩
接下來我們做刪除
-
// 根據ID 刪除數據
-
app.get( '/api/delhero',(req,res) => {
-
const id = req.query.id
-
const sqlStr = 'update text set isdel = 1 where id=?'
-
conn.query(sqlStr,id, (err,results) => {
-
if(err) return res.json({err_code:1,message:'刪除英雄失敗',affectedRows:0})
-
if(results.affectedRows !== 1) return res.json({err_code:1,message:'刪除英雄失敗',affectedRows:0})
-
res.json({ err_code:0,message:'刪除英雄成功',affectedRows:results.affectedRows})
-
})
-
})
OK 刪除成功 我們在看看本地數據庫 里
歐了 數據庫里面變樣了 軟刪除成功
然后我們再來完成添加的功能 看代碼
-
// 添加數據
-
app.post( '/api/addhero',(req,res) => {
-
const hero = req.body
-
console.log(hero)
-
const sqlStr = 'insert into text set ?'
-
conn.query(sqlStr,hero, (err,results) => {
-
if(err) return res.json({err_code:1,message:'添加失敗',affectedRows:0})
-
if(results.affectedRows !== 1) return res.json({err_code:1,message:'添加失敗',affectedRows:0})
-
res.json({ err_code:0,message:'添加成功',affectedRows:results.affectedRows})
-
})
-
})
寫入數據 我們可以看到再次成功了
可以看到 數據庫里面的數據也添加成功了
還有最后一個 修改的功能 需要獲得修改后的數據
-
app.post( '/api/updatehero',(req,res) => {
-
const sqlStr = 'update text set ? where id = ?'
-
conn.query(sqlStr,[req.body,req.body.id], (err,results) => {
-
if(err) return res.json({err_code:1,message:'更新英雄失敗',affevtedRows:0})
-
//影響行數不等於1
-
if(results.affectedRows !== 1) return res.json({err_code:1,message:'更新的英雄不存在',affectedRows:0})
-
res.json({ err_code:0,message:'更新成功',affectedRows:results.affectedRows})
-
})
-
})
我們可以看到 我們修改的id為3 下面一看得到 更新成功
再來看看數據庫里的數據 這是更新前的
更新后如下
美滋滋 OKOKOK 追后一步搞完鳥 GG
OK 今天我們就做到這里了 后台管理系統的接口差不多就這么多 本寶寶也是剛入手 有什么錯的地方 不全的地方 謝謝各位大牛補充