iT邦幫忙

2023 iThome 鐵人賽

DAY 6
0
自我挑戰組

Design Pattern - 無所不在的設計模式系列 第 6

[Day06] 簡易MVC CRUD實作 - 3

  • 分享至 

  • xImage
  •  

前言

來加緊腳步!!
今天會速速把其餘的API加完

router.js

讓我們新增post以及delete的router~

router.post("/adduser",UserController.addnewuser);
router.delete("/deleteuser",UserController.deleteuser);

UserController.js

再來跟get一樣~去UserController新增

static async addnewuser(req, res) {
    var name = req.body.name;
    var email = req.body.email;
    var password = req.body.password;
    //等user.js 回傳true或是false
    var x = await UserModel.addnewuser(name, email, password)
    if (x == true) {
      res.send("add user successful");
    } else {
      res.send("add failed");
    }
  }
  static async deleteuser(req, res) {
    const id = req.body.id;
    if (id) {
      var result = await UserModel.deleteuser(id);
      if (result) {//true
        res.send("Successfully delete")
      } else {
        res.send("Fail to delete the user")
      }
    }
  }

去model設定和DB溝通的query

static async addnewuser(name, email, password) {
        return new Promise(resolve => {
            db.query("insert into users (name, email, password) values(?,?,?)", [name, email, password], (e, r) => {
                if (!e) {
                    resolve(true);
                }
                else {
                    console.log("Add user error! " + e)
                    resolve(false);
                }
            })
        })
    }
    static async deleteuser(id) {
        return new Promise(resolve => {
            db.query("delete from users where id=?", [id], (e, r) => {
                if (!e) {
                    resolve(true);
                }else{
                    resolve(false);
                }
            })
        })
    }

Postman測試api~

Postman是一個超級好用的測試api必備工具!!
不一定要註冊,但是註冊的話就能使用把資料同步到雲端的功能~
就算在不同裝置下登入就可以很方便的同步資料歐!
但這裡就不贅述它的其他功能了~~

我們先來測試看看昨天成功的get all users吧~
輸入localhost路徑後,點擊send,就可以看到下方資料擴的JSON檔了喔

事不宜遲!來試試post!

然後在下方打上你要新增的name、email、password

點擊send!
successfully added the user
成功新增!!
我們再回到GET allusers看看,或是去資料庫看看有沒有新增一個user

撒花~~


上一篇
[Day05] 簡易MVC CRUD實作 - 2
下一篇
[Day07] Design Pattern - Factory Method工廠方法模式
系列文
Design Pattern - 無所不在的設計模式30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言