Cara Mudah Membuat REST API Menggunakan Express JS #6: Router POST - Membuat Data Baru


Cara Mudah Membuat REST API Menggunakan Express JS #6: Router POST - Membuat Data Baru

Pada part sebelumnya kita sudah menyelesaikan bagian Router GET - Membaca data dan kita akan melanjutkan membuat router post untuk menambahkan data baru.

Seperti pada part sebelumnya, yang harus kita lakukan adalah mengubah kode pada file router/posts.js di bagian ini:

routes/posts.js

/**
 * Route untuk membuat artikel baru
 */
route.post('/', function(req, res, next) {

});

Ubah bagian kode di atas menjadi seperti ini:

routes/posts.js

/**
* Route untuk membuat artikel baru
*/
route.post('/', async function(req, res, next) {
  try {
    //menangkap form data yang dikirim melalu request body
    const {
      title,
      content,
      tags,
      published
    } = req.body;
    //membuat data baru di db menggunakan method create
    const post = await models.posts.create({
      title,
      content,
      tags,
      published
    });
    //jika data berhasil dibuat, kembalikan response dengan kode 201 dan status OK
    if (post) {
      res.status(201).json({
        'status': 'OK',
        'messages': 'Post berhasil ditambahkan',
        'data': post
      });
    }
  } catch(err) {
    res.status(400).json({
      'status': 'ERROR',
      'messages': err.message
    });
  }
});

Pada kode di atas, kita menulis baris kode untuk menangkap/mengambil data yang dikirimkan melalui request body yaitu title,content,tags,published. Jadi jika ada data lain yang dikirim selain ke 4 data tersebut maka tidak akan ikut tersimpan.

const {
  title,
  content,
  tags,
  published
} = req.body;

Selanjutnya membuat data baru menggunakan method create dengan value yang sudah kita tangkap sebelumnya.

const post = await models.posts.create({
  title,
  content,
  tags,
  published
});

Dan Terakhir kita mengembalikan response code 201 dengan status OK jika data berhasil ditambahkan pada DB.

if (post) {
  res.status(201).json({
    'status': 'OK',
    'messages': 'Post berhasil ditambahkan',
    'data': post
  });
}

Response code 201 adalah standar kode yang biasa digunakan untuk menandakan pesan sukses data baru telah dibuat, Penjelasan lebih lengkap tentang http response code bisa kamu lihat pada situs https://developer.mozilla.org/en-US/docs/Web/HTTP/Status

Untuk mengetes API Endpoint untuk menambahkan data baru kita bisa menggunakan CURL atau agar lebih gampang bisa menggunakan POSTMAN.

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

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


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