Di pelajaran ini, kita akan melengkapi operasi API kita dengan menambahkan fungsi untuk mengubah dan menghapus data. Selain itu, kita akan belajar trik di Postman yang akan membuat pekerjaan kita jauh lebih efisien.
Bagian 1: Mengenal Metode PUT dan DELETE
Sejauh ini kita sudah bisa membuat data (POST
) dan membacanya (GET
). Sekarang kita akan lengkapi operasi CRUD kita dengan:
-
PUT:
- Fungsi: Untuk memperbarui atau mengedit data yang sudah ada.
- Cara Kerja: Biasanya, kita perlu memberitahu server data spesifik mana yang ingin kita ubah. Caranya adalah dengan mengirimkan ID unik dari data tersebut melalui URL.
- Analogi: Mengedit nama kontak di buku teleponmu.
-
DELETE:
- Fungsi: Untuk menghapus data yang sudah ada.
- Cara Kerja: Sama seperti
PUT
, kita perlu mengirimkan ID unik dari data yang ingin kita hapus agar server tidak salah sasaran. - Analogi: Menghapus kontak dari buku teleponmu secara permanen.
<hr>
Bagian 2: Praktik Kode: Menambahkan Route PUT dan DELETE
Mari kita tambahkan fungsionalitas ini ke API data siswa kita.
1. Update File Controller (student.controller.js
)
Buka file src/controllers/student.controller.js
dan tambahkan dua fungsi baru ini.
// ... (kode students array dan fungsi getAllStudents, createNewStudent)
// Fungsi untuk mengupdate siswa berdasarkan ID
const updateStudentById = (request, response) => {
const studentId = parseInt(request.params.id); // Ambil ID dari URL
const newName = request.body.nama; // Ambil nama baru dari body
// Cari siswa, lalu update namanya
students = students.map(student =>
student.id === studentId ? { ...student, nama: newName } : student
);
response.send(`Data siswa dengan ID ${studentId} berhasil diupdate.`);
};
// Fungsi untuk menghapus siswa berdasarkan ID
const deleteStudentById = (request, response) => {
const studentId = parseInt(request.params.id); // Ambil ID dari URL
// Filter dan simpan siswa yang ID-nya tidak sama dengan yang ingin dihapus
students = students.filter(student => student.id !== studentId);
response.send(`Data siswa dengan ID ${studentId} berhasil dihapus.`);
};
// Jangan lupa tambahkan fungsi baru ke module.exports
module.exports = {
getAllStudents,
createNewStudent,
updateStudentById, // Tambahkan ini
deleteStudentById // Tambahkan ini
};
- Penjelasan
request.params.id
: Ini adalah cara kita mengambil nilai dari parameter URL. Jika URL-nya adalah/students/1
, makarequest.params.id
akan bernilai1
.
2. Update File Router (student.route.js
)
Sekarang, daftarkan fungsi controller yang baru ke router. Buka file src/routes/student.route.js
dan tambahkan dua route baru.
// ... (kode router.get dan router.post yang sudah ada)
// Definisikan route PUT dan DELETE
// :id adalah parameter dinamis
router.put('/:id', studentController.updateStudentById);
router.delete('/:id', studentController.deleteStudentById);
module.exports = router;
- Penjelasan
/:id
: Titik dua (:
) menandakan bahwa bagian ini adalah sebuah parameter URL dinamis. Express akan menangkap nilai apa pun yang ada di segmen URL ini dan menyimpannya direquest.params
.
Bagian 3: Postman Efisien dengan Environment Variables
Kamu mungkin mulai lelah mengetik http://localhost:3000
berulang kali. Postman punya solusi cerdas untuk ini: Environment Variables.
Ini adalah variabel yang bisa kita gunakan di semua request kita. Jika alamat server berubah, kita cukup mengubahnya di satu tempat.
Cara Membuat Environment Variable:
- Di Postman, klik ikon mata (👁️) di pojok kanan atas, lalu klik Add di bagian Environments.
- Beri nama environment kamu, misalnya
Bootcamp Backend
. - Di bawahnya, buat sebuah variabel baru:
- Di kolom VARIABLE, ketik:
baseUrl
- Di kolom INITIAL VALUE dan CURRENT VALUE, ketik:
http://localhost:3000
- Di kolom VARIABLE, ketik:
- Klik Save, lalu pastikan kamu memilih environment “Bootcamp Backend” di menu dropdown di pojok kanan atas.
- Gunakan Variabel: Sekarang, ubah semua URL request-mu dari
http://localhost:3000/students
menjadi{{baseUrl}}/students
. Tanda kurung kurawal ganda adalah cara Postman untuk menggunakan variabel.
Uji Coba Terakhir
- Jalankan ulang servermu (
node src/index.js
). - Tes
PUT
:- Metode:
PUT
- URL:
{{baseUrl}}/students/1
(kita akan mengubah data Andi) - Pindah ke tab Body > raw > JSON, lalu ketik:
{"nama": "Andi Pratama"}
- Klik Send. Kamu akan mendapat pesan sukses.
- Metode:
- Tes
DELETE
:- Metode:
DELETE
- URL:
{{baseUrl}}/students/2
(kita akan menghapus data Citra) - Klik Send. Kamu akan mendapat pesan sukses.
- Metode:
- Verifikasi:
- Kirim ulang permintaan
GET
ke{{baseUrl}}/students
. - Kamu akan melihat hasilnya sekarang adalah
[ { "id": 1, "nama": "Andi Pratama" } ]
. Data Andi sudah ter-update dan data Citra sudah hilang.
- Kirim ulang permintaan
Luar Biasa! Kamu sekarang telah menguasai seluruh operasi dasar CRUD dan cara bekerja secara efisien dengan Postman. Proyekmu sekarang jauh lebih lengkap dan terstruktur.