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


Rizqi Maulana
PHP/Javascript Backend Developer

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
PHP/Javascript Backend Developer

Jika Anda menyukai konten kami, silakan pertimbangkan untuk membeli kopi untuk kami.
Terima kasih atas dukungan Anda!

Buy me a coffeeBuy me a coffee
KEBIJAKAN KOMENTAR

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

KOMENTAR