iT邦幫忙

2022 iThome 鐵人賽

DAY 22
0
Software Development

Web專案建置雜談系列 第 22

Web專案建置雜談 - 實作篇(十)

  • 分享至 

  • xImage
  •  

資料準備就緒之後,接著就要回到我們專案之中了,接著我們就要來配置一下專案中 route 的部分,

var express = require('express');
var router = express.Router();
const dbHelper = require('../base/dbHelper');

// 取得 users 資料
router.get('/', function (req, res, next) {
    let user = req.query;
    dbHelper.mysqlConnection.query(`SELECT * FROM users WHERE 1=1 AND id = ${user.id}`, function (err, results, fields) {
        if (err) {
            res.send(err);
        }
        res.send(results);
    });
});

// 更新 users 資料
router.put('/', function (req, res, next) {
    let user = req.body;
    console.log(user);
    dbHelper.mysqlConnection.query(`UPDATE \`users\` SET account = '${user.account}', password = '${user.password}' WHERE id = '${user.id}'; `, function (err, results, fields) {
        if (err) {
            res.send(err);
        }
        res.send(results);
    });
});

// 新增 users 資料
router.post('/', function (req, res, next) {
    let user = req.body;
    dbHelper.mysqlConnection.query(`INSERT INTO \`users\`(\`parent\`, \`is_banned\`, \`account\`, \`password\`) VALUES ('${user.parent}', '${user.is_banned}', '${user.account}', '${user.account}');`, function (err, results, fields) {
        if (err) {
            res.send(err);
        }
        res.send(results);
    });
});

// 刪除 users 資料
router.delete('/', function (req, res, next) {
    let user = req.body;
    dbHelper.mysqlConnection.query(`DELETE FROM users WHERE id = ${user.id}`, function (err, results, fields) {
        if (err) {
            res.send(err);
        }
        res.send(results);
    });
});

module.exports = router;

重新啟動server之後,如果沒有特別報錯訊息其實就可以直接透過網頁頁面先進行查看 get 是否能正確的取得資料:
http://127.0.0.1:3000/users
可以看到以下的畫面

我們就已經能取得前一篇文章內寫入進去的data了,但如果要能夠寫入或刪除呢?由於我們走的是restful方式,修改刪除等這類API都是透過http既有的方法去進行的,用瀏覽器不方便進行完整的測試,這時候可能就會需要一些其他的工具進行輔助測試了,下一章我們將會介紹如何使用postman來進行API的發送。


上一篇
Web專案建置雜談 - 實作篇(九)
下一篇
Web專案建置雜談 -雜談篇
系列文
Web專案建置雜談30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言