Cara Mudah Membuat REST API Menggunakan Express JS #7: Router PUT - Mengubah Data


Cara Mudah Membuat REST API Menggunakan Express JS #7: Router PUT - Mengubah Data

Setelah menyelesaikan Router untuk menambahkan data baru, tentunya kita juga perlu membuat Router untuk mengubah data. Pada router ini kita akan menggunakan method PUT.

Buka kembali file router/posts.js, dan perhatikan pada bagian ini:

router/posts.js

/**
 * Route untuk mengupdate artikel berdasarkan ID
 */
router.put('/:id', function(req, res, next){

});

Lakukan perubahan kode menjadi seperti ini:

router/posts.js

router.put('/:id', async function(req, res, next){
  try {
    const id = req.params.id
    const {
      title,
      content,
      tags,
      published
    } = req.body
    
    const post = models.posts.update({
      title,
      content,
      tags,
      published
    }, {
      where: {
        id: id
      }
    })

    if (post) {
      res.json({
        'status': 'OK',
        'messages': 'Post berhasil diubah'
      })
    }
  } catch(err) {
    res.status(400).json({
      'status': 'ERROR',
      'messages': err.message
    })
  }
});

Proses yang ditulis hampir sama dengan router untuk menambah data. Yaitu pertama kita tangkap parameter id dan data-data yang dikirim melalui request body. Selanjutnya update row data menggunakan method update.

Jika berhasil mengupdate data, maka kembalikan response dengan status OK beserta pesan suksesnya. Sebaliknya kembalikan response dengan status error (400) jika proses update data gagal.

Done! Kita sudah menyelesaikan membuat router untuk mengubah data berdasarkan ID. Silahkan melakukan testing kembali menggunakan CURL atau POSTMAN untuk mencoba mengupdate data yang sudah ada.


Untuk mendownload atau melihat full source code pada tahap ini, silahkan kunjungi repo github

https://github.com/sakukode/simple-restapi/tree/v0.6


Rizqi Maulana
Backend Developer

Suka dengan tulisan di SantriKoding? Kamu bisa memberikan dukungan dengan berdonasi atau bagikan konten ini di sosial media. Terima kasih atas dukungan Anda!

KEBIJAKAN KOMENTAR

Saat memberikan komenatar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami