Cara Membuat RESTful API menggunakan nodejs dan MySQL
💬Pemrograman Web Framework 🙎 ImanyPuspita.Sr ⤄ 18753032
Apa Itu RESTful API?
API (Application Programming Interface) adalah kumpulan aturan yang memungkinkan dua atau lebih program untuk berkomunikasi satu sama lain. API dibuat di server untuk kemudian dapat memungkinkan client untuk dapat berkomunikasi dengannya.
REST (Representational State Transfer) adalah jenis dari API atau yang menggambarkan bentuk dari API itu seperti apa. REST adalah kumpulan aturan yang diikuti oleh developer untuk membuat API.
Emmmmm, masih bingung?
Bayangkan kamu memiliki sebuah server dengan sebuah database yang berisi data-data penting yang ingin kamu bagi ke beberapa program lain yang mungkin juga dibuat oleh orang lain. Kamu tidak mungkin kan memberikan akses ke database-mu secara penuh kepada program yang mungkin dibuat oleh orang lain? mereka bisa saja merusak data yang ada di database yang ada pada servermu atau mengakses data-data private yang tidak ingin kamu bagikan.
Nah, untuk itu RESTful API dapat menjadi jembatan antara database dengan client (program yang akan mengkonsumsi data). Sehingga, client dapat berkomunikasi dengan server, mengambil dan memanipulasi data yang ada di database sesuai dengan aturan - aturan yang sudah diberikan tanpa memungkinkan mereka untuk dapat merusak / merubah sesuatu di luar aturan yang berlaku.
jadi, RESTful API
merupakan implementasi dari API (Application
Programming Interface). REST (REpresentational State Transfer) adalah suatu
arsitektur metode komunikasi yang menggunakan protocol HTTP untuk pertukaran
data dan metode ini sering diterapkan dalam pengembangan aplikasi. Tujuannya
untuk menjadikan system dengan performa yang baik, cepat, dan mudah untuk
dikembangkan (scale) terutama dalam pertukaran dan komunikasi data.
Ada dua hal yang sangat penting untuk kamu ketahui sebelum mengenal lebih dalam tentang apa itu RESTful API. Yaitu, Request dan Response. Setiap URL yang ada pada RESTful API disebut dengan Request. Sedangkan Response adalah data yang dikembalikan setelah client melakukan Request.
Sebuah request, dibangun dengan empat hal yang sangat penting yaitu :
- Endpoint : Endpoint atau route adalah URL / alamat request.
- Method : Ada beberapa jenis method atau metode yang dapat kita gunakan untuk melakukan request yang akan kita kirimkan ke server, yaitu :
a. GET : method yang biasa digunakan untuk mendapatkan data dari server.
b. POST : method yang biasa digunakan untuk membuat data baru pada database yang ada di server.
c. PUT/PATCH : method yang biasa digunakan untuk mengupdate data yang sudah ada pada database yang ada di server.
d. DELETE : method yang biasa digunakan untuk menghapus data yang sudah ada pada databse yang ada di server. Inilah yang biasa disebut dengan aksi DELETE (Menghapus).
- Headers : untuk memberikan informasi baik dari client ke server maupun server ke client.
- Data (body) : bagian dari request yang menyimpan informasi yang dikirimkan.
Kenapa perlu membuat RESTful API?
Dimana client mengirimkan request
ke server melalui HTTP request, dan server memberikan response melalui HTTP
Response. Response yang diberikan oleh server, biasanya berformat HTML.
Nah, bayangkan jika Anda harus mengembangkan website Anda ke aplikasi Mobile seperti Android atau iOS. Anda tahu aplikasi Android ataupun iOS tidak membutuhkan HTML sebagai response dari server. Karena Android dan iOS menggunakan bahasa pemrograman yang berbeda dan tidak mengenal HTML.
Oleh sebab itu, kita perlu membuat RESTful API.
Oleh sebab itu, kita perlu membuat RESTful API.
RESTful API ini akan menjadi jembatan komunikasi data antara client dan server.
Sehingga, server tidak lagi mengirimkan HTML sebagai response, melainkan hanya
data. Hal inilah yang dapat menghemat bandwidth server. Response dalam bentuk
data inilah yang dapat digunakan berbagai macam platform dari aplikasi yang
berbeda biasanya berformat JSON
atau XML. Akan tetapi paling umum digunakan adalah JSON.
1. Design RESTful API
Pada materi ini, saya akan sharing
bagaimana membuat RESTful API sederhana data dari server (GET), membuat data
baru ke server (POST), mengupdate data keserver (PUT), dan menghapus data ke
server (DELETE) dari suatu table di database yaitu table product.
Berikut ini rancangan dari RESTful
API yang akan kita buat.
2 Buat Database dan Table
Buat database baru
dengan MySQL, dapat menggunakan tools seperti SQL, PHPMyAdmin atau sejenisnya.
Disini saya membuat database menggunakan MySQL Workbench, dengan nama database nya adalah restful_db.
Membuat database restful_db |
Lalu saya membuat sebuah table dengan nama product, dapat dilakukan dengan mengeksekusi perintah SQL berikut :
Membuat table Product |
Akan menghasilkan sebuah table product, seperti gambar berikut :
Selanjutnya,
insert beberapa data ke dalam table product dengan mengeksekusi query
berikut:
Ketikkan script diatas, Select*from product untuk menampilkan table product.
3 Install Dependencies
Sebelum
menginstall dependencies, silahkan buat folder, disini saya membuat folder
dengan nama restful-api. Perhatikan gambar berikut :
Membuat folder restful-api |
Dimana folder restful-api
akan menjadi folder project kita, untuk itu kita membutuhkan 3 dependencies
yaitu :
.
Express (node.js framework)
.
MySQL (driver mysql untuk node.js)
.
Body-parser (middleware untuk menghandle
post body request)
Package body-parser ini dipake untuk ngeparsing setiap request yang masuk melalui HTTP, baik itu dengan x-www-form-urlencoded, raw json, dan form data. Package ini ngebuat kita gampang untuk make method parsing dari apa saja yang disubmit melalui rest api kita.
Untuk
menginstall dependencies pada node.js saya menggunakan Git Bash Terminal.
Anda dapat menginstall Git Bash pada url berikut : https://git-scm.com/dwonloads . Silahkan download sesuai platform anda, kemudian
install di computer anda. Jika anda telah menginstall Git Bash, silahkan buka
folder restful-api yang telah anda buat sebelumnya. Kemudian klik kanan
dan pilih Git Bash Here, seperti gambar berikut :
Maka akan muncul
terminal seperti berikut :
Tampilan Git Bash |
Sebelum anda
menginstall dependencies, kita perlu membuat package.json. Untuk
membuatnya anda perlu menjalankan perintah berikut :
Ketikkan perintah npm init |
Perintah di atas
akan membuat sebuah file bernama package.json secara otomatis pada
project anda. Selanjutnya install semua dependencies yang dibutuhkan dengan
ketik perintah sebagai berikut :
Ketikkan perintah npm install --save express mysql body-parser |
Perintah diatas
akan menginstall semua dependencies yang kita butuhkan yaitu : express, mysql,
dan body-parser.
Jika dibuka file package.json,
maka akan terlihat seperti berikut :
file package.json |
4 Buat file Index.js
Buat sebuah file
dengan nama index.js seperti berikut :
Membuat file index.js |
Kemudian open Index.js
dan ketikkan kode berikut :
Perintah pada index.js |
5 Testing
Uji
coba API yang telah kita buat untuk memastikan RESTful API berjalan dengan
baik. Untuk menguji API, ada banyak tools yang dapat digunakan. Saya menggunakan
POSTMAN untuk menguji API. Anda dapat mendwonload POSTMAN diurl berikut: https://www.getpostman.com/. Download dan
install POSTMAN di computer lalu open.
Jika POSTMAN telah
terbuka, maka akan terlihat gambar di bawah :
Tampilan POSTMAN |
Running project
dengan mengetikkan perintah :
Ketikkan perintah node index |
Jika seperti ini,
berarti berjalan dengan baik.
Kita uji
EndPoint-nya satu per Satu.
a. Get All Product (GET)
Pilih method GET,
kemudian ketikkan url https://localhost:3000/api/products. dan klik tombol SEND.
Maka akan terlihat seperti berikut :
Tampilan Get All Product (GET) |
Dapat dilihat bahwa EndPoint untuk mendapatkan semua data product berjalan dengan baik.
b. Get Single Product (GET)
Pilih method GET, kemudian ketikkan URL berikut : http://localhost:3000/api/products/2 dan klik SEND.
Tampilan Get Single Product (GET) |
Pada gambar diatas dapat
dilihat hanya satu data product yang ditampilkan, yaitu product dengan
product_id=’2’ sesuai dengan parameter pada URL.
c. Create New Product (POST)
Pilih method POST, kemudian ketikkan URL berikut :http://localhost:3000/api/products lalu klik SEND. akan tampil hasil seperti gambar dibawah ini .
Tampilan Create New Product (POST) |
d. Update Product (PUT)
Pilih method PUT, kemudian ketikkan URL berikut :http://localhost:3000/api/products/2 lalu klik SEND. akan tampil hasil seperti gambar dibawah ini .
Tampilan Update Product (PUT) |
e. Delete Product (DELETE)
Pilih method DELETE, kemudian ketikkan URL berikut: http://localhost:3000/api/products/6 , lalu klik SEND. akan tampil hasil seperti gambar dibawah ini .
Tampilan Delete Product (DELETE) |
Jika anda perhatikan
pada bagian response, terdapat “affectedRows”:1, “InsertId”:0 dan
“changedRows”:0. Itu berarti terdapat satu data yang dihapus (delete)ke
database dengan product_id=’6’ sesuai dengan parameter pada URL.
Kesimpulan
Pembahasan kali
ini adalah tentang bagaimana membuat RESTful API sederhana dengan node.js,
express, dan mysql. REST (REpresentational State Transfer) adalah suatu arsitektur
metode komunikasi yang menggunakan protocol HTTP untuk pertukaran data dan
metode ini sering diterapkan dalam pengembangan aplikasi.
Tujuannya untuk
menjadikan system dengan performa yang baik, cepat, dan mudah untuk
dikembangkan (scale) terutama dalam pertukaran dan komunikasi data. Pada
tutorial kali ini, anda telah belajar bagaimana membuat RESTful API sederhana
dengan node.js, express, dan mysql.
REFERENSI
http://mfikri.com/artikel/restful-api (5 langkah membuat RESTful API menggunakan Nodejs dan MySQL)
https://www.galihlprakoso.com/2019/04/apa-itu-rest-ful-api-pengertian-penjelasan.html(APA ITU RESTFUL API? - PENGERTIAN DAN PENJELASAN SEDERHANA REST API)
https://medium.com/@kiddy.xyz/tutorial-restful-api-node-js-express-mysql-part-1-527868bfb9d1 (Belajar Membuat REST API Sederhana dengan Node.js, Express.js)
Agar lebih mudah dalam membuat RESTful API, silahkan tonton video berikut ini :
Tidak ada komentar:
Posting Komentar