🇮🇩
HTML, CSS, dan JS
  • Pengenalan
  • Roadmap
    • Frontend Developer
    • Backend Developer
    • Full Stack Developer
  • Pengenalan Teknologi Web
    • Internet
    • World Wide Web
    • Bagaimana WWW Bekerja
    • Evolusi Web
    • DNS Server
    • Domain dan Hosting
  • Pengelanan VCS
  • Pengenalan HTML
    • HTML Dasar
    • HTML Lanjutan
    • HTML5
    • Latihan
  • Pengenalan CSS
    • CSS Dasar
    • CSS Lanjutan
    • Responsif Web
    • Contoh Kuis (a)
    • Contoh Kuis (b)
    • Contoh Kuis (c)
    • Bootstrap
  • Pengenalan Hak Cipta
  • Pengenalan Javascript
    • Javascript Dasar
    • Javascript DOM
    • Javascript Object
    • Javascript Events
  • JS Web Storage API
    • Local Storage
    • Session Storage
    • Contoh
  • JSON
  • Web API
  • Dokumentasi
  • Pengenalan NodeJS
    • Node.js
    • ExpressJS
  • API Express dengan MySQL + Deploy
    • RESTful API (Read)
    • RESTful API (Create, Update, Delete)
    • Deploy NodeJS ke Heroku
  • Socket.io
  • API Express dengan MongoDB + Deploy
    • MongoDB
    • NodeJS API - Create
    • NodeJS API - Read
    • NodeJS API - Update
    • NodeJS API - Delete
    • NodeJS API - Auth
    • NodeJS API - Auth Lanjutan
    • Deploy Vercel
  • Vue.js
    • Vue
    • Vue Axios
    • Vue Axios Lanjutan
  • React Js
Powered by GitBook
On this page
  • POST data mahasiswa
  • GET data mahasiswa berdasarkan npm
  • PUT data mahasiswa
  • DELETE data mahasiswa
  • Referensi

Was this helpful?

  1. API Express dengan MySQL + Deploy

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

  1. GET /users/:npm untuk search data mahasiswa berdasarkan npm

  2. POST /users untuk menambahkan data

  3. PUT /users untuk mengubah data

  4. 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

PreviousRESTful API (Read)NextDeploy NodeJS ke Heroku

Last updated 4 years ago

Was this helpful?