MEMBUAT REST API DENGAN NODE.JS
EKSPRESS DAN MYSQL
#PENGENRTIAN RESTful API
REST (Representional State Transfer) adalah suatu arsitektur metode komunikasi yang menggunakan protokol HTTP untuk pertukaran data dan metode ini sering diterapkan dalam pengembangan aplikasi. Dimana tujuannya adalah untuk menjadikan sistem yang memiliki performa yang baik, cepat dan mudah untuk di kembangkan (scale) terutama dalam pertukaran dan komunikasi data. — Developer Kudo
#MANFAAT DARI 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.Ya, hanya data.
Hal inilah yang dapat menghemat bandwidth server.Response dalam bentuk data inilah yang dapat digunakan untuk berbagai macam platform dari aplikasi yang berbeda bahasa permrograman.Response dalam bentuk data ini, biasanya berformat JSON atau XML.
Akan tetapi, yang paling umum digunakan adalah JSON.Dalam tutorial kali ini, kita akan membuat RESTful API dengan response data dalam format JSON.
#LANGKAH-LANGKAH MEMBUAT REST API#
#STEP 1
Membuat rancangan dari RESFUL yang kita buat
#STEP 2
MEMBUAT DATABASENYA
Untuk membuat Table1. CREATEDATABASEcrud_db;
dan buatkan datanya seperti iniCREATETABLEproduct(product_idINT(11)PRIMARYKEYAUTO_INCREMENT,product_nameVARCHAR(200),product_priceINT(11))ENGINE=INNODB;
INSERTINTOproduct(product_name,product_price)VALUES('Product 1','2000'),('Product 2','5000'),('Product 3','4000'),('Product 4','6000'),('Product 5','7000');
#STEP 3 - MEMBUAT DEPENDENCIES
Buat kan foldernya dulu
kalo saya buatnya seperti ini
klik kanan lalu git bash here
ketikan npm init
kalo sudah selanjutnya ketikan seperti dibawah ini
#STEP4 - MEMBUAT INDEX.JS
Buat file index berformat js dan ketikan isinya seperti ini
const bodyParser = require('body-parser');
const app = express();
const mysql = require('mysql');
// parse application/json
app.use(bodyParser.json());
//create database connection
const conn = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '',
database: 'crud_db',
});
//connect to database
conn.connect((err) =>{
if(err) throw err;
console.log('Mysql Connected...');
});
//tampilkan semua data product
app.get('/api/products',(req, res) => {
let sql = "SELECT * FROM product";
let query = conn.query(sql, (err, results) => {
if(err) throw err;
res.send(JSON.stringify({"status": 200, "error": null, "response": results}));
});
});
//tampilkan data product berdasarkan id
app.get('/api/products/:id',(req, res) => {
let sql = "SELECT * FROM product WHERE product_id="+req.params.id;
let query = conn.query(sql, (err, results) => {
if(err) throw err;
res.send(JSON.stringify({"status": 200, "error": null, "response": results}));
});
});
//Tambahkan data product baru
app.post('/api/products',(req, res) => {
let data = {product_name: req.body.product_name, product_price: req.body.product_price};
let sql = "INSERT INTO product SET ?";
let query = conn.query(sql, data,(err, results) => {
if(err) throw err;
res.send(JSON.stringify({"status": 200, "error": null, "response": results}));
});
});
//Edit data product berdasarkan id
app.put('/api/products/:id',(req, res) => {
let sql = "UPDATE product SET product_name='"+req.body.product_name+"', product_price='"+req.body.product_price+"' WHERE product_id="+req.params.id;
let query = conn.query(sql, (err, results) => {
if(err) throw err;
res.send(JSON.stringify({"status": 200, "error": null, "response": results}));
});
});
//Delete data product berdasarkan id
app.delete('/api/products/:id',(req, res) => {
let sql = "DELETE FROM product WHERE product_id="+req.params.id+"";
let query = conn.query(sql, (err, results) => {
if(err) throw err;
res.send(JSON.stringify({"status": 200, "error": null, "response": results}));
});
});
//Server listening
app.listen(3000,() =>{
console.log('Server started on port 3000...');
});
#STEP 5 - TESTING
saya disini mengetest dengan menggunakan postman
lakukan seperti ini
ini untuk melihat data di table product
untuk melihat data pada id tertentu
untuk membuat/insert data baru
untuk mengedit
untuk menghapus
#REFRENSI TUTORIAL
#KESIMPULAN
REST MERUPAKAN PERTUKARAN DATA ANTAR BERBAGAI PLATFROM YANG TIDAK DIBANGUN DARI BAHASA YANG SAMA SUPAYA MENGURAI BEBAN SERVER
PADA KESEMPATAN KALI INI SAYA MEMPOSTING BAGAI MANA MEMBUAT RESTFUL API DENGAN NODE JS DAN MYSQL

0 komentar:
Posting Komentar