RESTful API (Create, Update, Delete)
Materi kali ini adalah lanjutan dari materi sebelumnya (RESTful API Read). Kali ini kita akan mencoba menambahkan RESTful API untuk Create, Update dan Delete data Mahasiswa.
Silakan buka file controller.js, kita akan tambahkan fungsi untuk read data mahasiswa, update dan delete data berdasarkan parameter npm.
exports.findUsers = function(req, res) {
let npm = req.params.npm;
connection.query('SELECT * FROM mahasiswa where npm = ?',
[ npm ],
function (error, rows, fields){
if(error){
console.log(error)
} else{
response.ok(rows, res)
}
});
};
exports.createUsers = function(req, res) {
let npm = req.body.npm;
let nama= req.body.nama;
connection.query('INSERT INTO mahasiswa (npm, nama) values (?,?)',
[npm, nama],
function (error, rows, fields){
if(error){
console.log(error)
} else{
response.ok("Berhasil menambahkan mahasiswa!", res)
}
});
};
exports.updateUsers = function(req, res) {
let npm = req.body.npm;
let nama = req.body.nama;
connection.query('UPDATE mahasiswa SET nama = ? WHERE npm = ?',
[nama, npm],
function (error, rows, fields){
if(error){
console.log(error)
} else{
response.ok("Berhasil mengubah mahasiswa!", res)
}
});
};
exports.deleteUsers = function(req, res) {
let npm = req.body.npm;
connection.query('DELETE FROM mahasiswa WHERE npm = ?',
[npm],
function (error, rows, fields){
if(error){
console.log(error)
} else{
response.ok("Berhasil menghapus mahasiswa!", res)
}
});
};
Selanjutnya buka routes.js, lalu tambahkan routes berikut
app.route('/users/:npm')
.get(todoList.findUsers);
app.route('/users')
.post(todoList.createUsers);
app.route('/users')
.put(todoList.updateUsers);
app.route('/users')
.delete(todoList.deleteUsers);
Sekarang kita memiliki 4 routes baru
GET /users/:npm untuk search data mahasiswa berdasarkan npm
POST /users untuk menambahkan data
PUT /users untuk mengubah data
DELETE /users untuk menghapus data
Silakan jalankan kembali index.js dengan perintah
node index.js
POST data mahasiswa
Sekarang kita coba POST data mahasiswa menggunakan Insomnia
Pilih method POST, pada bagian Form isi npm dan nama

Pada bagian Header, isi Content-Type : application/x-www-form-urlencoded


GET data mahasiswa berdasarkan npm
Pilih method GET, lalu tambahkan parameter npm pada URL

PUT data mahasiswa
Pilih method PUT, pada bagian Form isi npm dan nama

Pada bagian Header, isi Content-Type : application/x-www-form-urlencoded

Tekan tombol Send, dan hasilnya nama mahasiswa ALI berubah menjadi USMAN

DELETE data mahasiswa
Pilih method DELETE, pada bagian Form isi npm

Pada bagian Header, isi Content-Type : application/x-www-form-urlencoded

Tekan tombol Send, dan hasilnya data mahasiswa dengan npm 1824250003 berhasil dihapus

Referensi
https://kiddyxyz.medium.com/tutorial-restful-api-node-js-express-mysql-part-2-eff96ebb4b7f
Last updated
Was this helpful?