1227.0.0.1 Tutorial_api Client

Pernahkah Anda bertanya:

Bagaimana membentuk aplikasi maupun website dengan penampakan yang baik?

Bagaimana menciptakan menjadikan website nan mudah dikembangkan di beraneka rupa mimbar?

Bagaimana mengintegrasikan website dengan aplikasi yang berlainan bahasa pemrograman?

Jawabannya adalah dengan mewujudkan Jago merah.

Untuk mewujudkan API, arsitektur yang minimal populer yaitu RESTful Jago merah.

Pada tutorial kali ini saya akan sharing bagaimana membuat RESTful API menggunakan node.js, express, dan MySQL secara step by step.

Marilah kita mulai.

Dapatkan potongan harga 75% selongsong hosting dan gratis domain + extra diskon 5% dengan memperalat kupon: MFIKRI

Order Saat ini.!

Api itu RESTful Api?

RESTful API yaitu implementasi berbunga API  (Application Programming Interface).

REST (REpresentational State Transfer) adalah suatu arsitektur metode komunikasi yang menggunakan protocol HTTP kerjakan persilihan data dan metode ini comar diterapkan dalam pengembangan permintaan.

Mungkin terdengar langka tapi sebenarnya tak.

Tujuannya lakukan menjadikan system dengan performa nan baik, cepat, dan mudah untuk dikembangkan (scale) terutama intern pertukaran dan komunikasi data.

Kenapa perlu membentuk RESTful Api?

Sekiranya Sira perhatikan arsitektur tradisional komunikasi data antara client dan server terlihat sebagai halnya gambar berikut:

HTTP Tradisional

Dimana client mengapalkan request ke peladen melalui HTTP Request, dan server mengasihkan response melalui HTTP Response.

Response yang diberikan oleh peladen, biasanya berformat HTML.

Ambillah, bayangkan jika Sira harus mengembangkan website Ia ke permintaan Mobile seperti Android atau iOS.

Ia tahu tuntutan Android alias iOS tidak membutuhkan HTML sebagai response dari server.

Karena Android dan iOS memperalat bahasa pemrograman yang berlainan dan tidak mengenal HTML.

Oleh sebab itu, kita perlu membuat RESTful Api.

RESTful Api ini akan menjadi jembatan komunikasi data antara client dan peladen.

Sehingga, server tak lagi mengirimkan HTML laksana response, melainkan hanya data.

Ya, hanya data.

Hal inilah nan dapat menghemat bandwidth server.

Response dalam tulang beragangan data inilah yang dapat digunakan bakal berbagai macam platform dari tuntutan yang berbeda bahasa permrograman.

Response dalam bentuk data ini, biasanya berformat JSON alias XML.

Akan sekadar, yang paling umum digunakan adalah JSON.

Dalam tutorial boleh jadi ini, kita akan membuat RESTful API dengan response data kerumahtanggaan ukuran JSON.

Berikut arsitektur dari RESTful Api:

Restful-api-arsitektur

Dimana client dapat dari berbagai macam platform, sebagai halnya aplikasi web, desktop, ataupun mobile app.

Keren tidak?

Ok, mari kita mulai.

Step #1. Design RESTful API

Ini penting!

Sebelum membuat RESTful API, ada baiknya di kita definisikan dulu EndPoint dari RESTful API yang akan dibuat.

EndPoint yaitu routes berbunga Jago merah yang akan kita buat.

RESTful Api menunggangi HTTP verbs.

HTTP verbs yang umum digunakan yakni GET, POST, PUT, dan DELETE.

GET buat mendapatkan data terbit peladen atau lebih dikenal dengan istilah READ, POST lakukan meng-CREATE new data, PUT bikin UPDATE data, dan DELETE kerjakan menghapus data.

Atau lebih dikenal dengan istilah
CRUD
(Create Read Update Delete).

Pada tutorial kelihatannya ini, saya akan sharing bagaimana menciptakan menjadikan RESTful Jago merah sederhana buat mengambil data dari server (GET), membuat data baru ke server (POST), mengupdate data ke peladen (PUT), dan menghapus data ke server (DELETE) dari suatu table di database yaitu table
products.

Berikut kerangka bermula RESTful Jago merah yang akan kita buat.

endpoint

Step #2. Cak bagi Database dan Table

Untuk sebuah database baru dengan MySQL, sira dapat memperalat tools seperti SQLyog, PHPMyAdmin maupun sejenisnya.

Disini saya takhlik database dengan nama
restful_db.

Jika Anda membuat database dengan nama yang sama itu lebih baik.

Untuk  takhlik database dengan MySQL, boleh dilakukan dengan mengeksekusi query berikut:

CREATE DATABASE restful_db;

Perintah SQL diatas akan membuat sebuah database dengan tanda
restful_db.

Selanjutnya, buat sebuah table di intern database
restful_db.

Disini saya membuat sebuah table dengan segel
product.

Jika Beliau mewujudkan table dengan cap yang ekuivalen itu lebih baik.

Bikin membentuk table
product, dapat dilakukan dengan mengeksekusi perintah SQL berikut:

CREATE TABLE product( product_id INT(11) PRIMARY KEY AUTO_INCREMENT, product_name VARCHAR(200), product_price INT(11)  )ENGINE=INNODB;
      

Lebih lanjut, insert beberapa data kedalam table
product
dengan mengeksekusi query berikut:

INSERT INTO product(product_name,product_price) VALUES  ('Product 1','2000'), ('Product 2','5000'), ('Product 3','4000'), ('Product 4','6000'), ('Product 5','7000');
      

Perintah SQL diatas akan menginput 5 data kedalam table
product.

Step #3. Install Dependencies

Sebelum menginstall dependencies, silahkan buat sebuah folder, disini saya membuat sebuah folder dengan jenama
restful-api.

Perhatikan lembaga berikut untuk lebih jelasnya:

project-structure

Dimana folder
restful-api
ini akan menjadi folder project kita pada cak bimbingan kali ini.

Marilah kita lanjut,

Puas les barangkali ini, kita membutuhkan 3 dependencies adalah:

1. Express
(node.js framework)

2. MySQL
(driver mysql untuk node.js)

3. Body-parser
(middleware bagi menghandle post body request)

Lakukan menginstall dependencies sreg node.js boleh dilakukan dengan mudah menggunakan NPM (Node Package Manager).

Anda dapat menjalankan NPM puas
Setopan
ataupun
Command Prompt.

Akan semata-mata, lega les siapa ini saya tidak menggunakan Command Prompt, melainkan menggunakan
Git Bash
Terminal.

Saya lalu merekomendasikan Anda pula memperalat Git Bash.

Ia bisa mendownload Git Bash lega url berikut:

https://git-scm.com/downloads

Silahkan download sesuai dengan tribune Sira, kemudian install di komputer Anda.

Jika Anda telah menginstall Git Bash, silahkan buka folder
restful-api
yang telah dibuat sebelumnya.

Kemudian klik-kanan dan pilih
Git Bash Here, sebagaimana gambar berikut:

gitbash here

Maka akan muncul perhentian sebagaimana tulang beragangan berikut:

gitbash-terminal

Plong terminal diatas, anda boleh menginstall semua dependencies yang Ia perlukan untuk project Beliau.

Sebelum menginstall dependencies, kita perlu takhlik
package.json.

Untuk membentuk package.json, sira dapat menjalankan perintah berikut puas terminal.

npm init

Begitu juga rangka berikut:

npm-init

Perintah diatas akan membuat sebuah file bernama
package.json
secara faali pada project Sira.

Seterusnya,

Install semua dependencies nan dibutuhkan dengan mengetikkan perintah berikut puas perhentian:

npm install --save express mysql body-parser

Seperti rencana berikut:

install-dependencies

Perintah diatas akan menginstall semua dependencies yang kita butuhkan yaitu: express, mysql, dan body-parser.

Jika di urai file
package.json, maka akan kelihatan sebagai halnya berikut:

{   "name": "restful-api",   "version": "1.0.0",   "description": "",   "main": "index.js",   "scripts": {     "test": "echo "Error: no test specified" && exit 1"   },   "author": "M Fikri",   "license": "ISC",   "dependencies": {     "body-parser": "^1.18.3",     "express": "^4.16.4",     "mysql": "^2.16.0"   } }
      

Step #4. Cak bagi file Index.js

Untuk sebuah file dengan nama
index.js. Begitu juga bentuk berikut:

indexjs

Kemudian open
index.js
dan ketikan kode berikut:

const express = require('express'); 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: 'restful_db' });  //connect to database conn.connect((err) =>{   if(err) throw err;   console.log('Mysql Connected...'); });  //tampilkan semua data product app.get('/jago merah/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 bersendikan 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 yunior app.post('/jago merah/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('/jago merah/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

Uji coba API nan sudah lalu kita kerjakan bikin memastikan RESTful Jago merah bepergian dengan baik.

Lakukan menguji API, ada banyak tools yang dapat digunakan.

Pada tutorial ini, saya menggunakan POSTMAN cak bagi menguji Jago merah yang telah kita kerjakan.

Takdirnya Sira pula menggunakan POSTMAN itu kian baik.

Anda dapat mendownload POSTMAN di official websitenya:

https://www.getpostman.com/

Download dan Install POSTMAN di komputer Anda kemudian open.

Jika POSTMAN telah melenggong, maka akan tampak seperti gambar berikut:

postman

Ok, waktunya pengujian:

Running project dengan mengetikan perintah:

node index

Sreg perhentian sebagaimana gambar berikut:

node-index

Jika terlihat seperti rencana diatas, berfaedah berjalan dengan baik.

Mari kita uji EndPoint-nya satu per satu.

#1. Get All Product (GET)

Lagi ke POSTMAN, dan ketikan URL berikut puas ruangan URL Postman:

http://localhost:3000/jago merah/products

Pilih method
GET, kemudian klik tombol
Send, maka Akan terlihat hasilnya sama dengan gambar berikut:

get-all-product

Pada gambar diatas boleh dilihat bahwa EndPoint cak bagi mendapatkan semua data product bepergian dengan baik.

#2. Get Single Product (GET)

Ketikan URL berikut sreg kolom URL untuk mendapatkan single product:

http://localhost:3000/api/products/2

Diskriminatif dengan method
GET, kemudian klik pentol
Send, maka Akan terlihat hasilnya seperti gambar berikut:

get-single-product

Pada gambar diatas boleh terbantah hanya suatu data product yang ditampilkan, yakni product dengan product_id=’2’ sesuai dengan parameter pada URL.

#3. Create New Product (POST)

Ketikan URL berikut pada ruangan URL cak bagi meng-create new product:

http://localhost:3000/jago merah/products

Pilih method
POST, kemudian masukan data berikut lega kolom JSON(application/json):

{ 	"product_name": "Product 6 Added", 	"product_price": 6000 }
      

Kemudian klik kenop
Send, maka Akan terlihat karenanya seperti tulang beragangan berikut:

Post-method

Jika Sira perhatikan pada bagian response, terwalak “affectedRows”: 1, dan “insertId”: 6.

Itu berguna terdapat satu data yang diinsert ke database dengan product_id=’6’.

#4. Update Product (PUT)

Ketikan URL berikut pada kolom URL buat meng-update product:

http://localhost:3000/jago merah/products/2

Pilih method PUT, kemudian masukan data berikut pada kolom JSON(application/json):

{ 	"product_name": "Product 2 Update", 	"product_price": 7000 }
      

Kemudian klik kenop Send, maka Akan tampak akhirnya seperti bentuk berikut:

Put-method

Jika Dia perhatikan puas bagian response, terdapat “affectedRows”: 1, dan “changedRows”: 1.

Itu berarti terdapat satu data yang diupdate ke database dengan product_id=’2’ sesuai dengan penunjuk pada URL.

#5 Delete Product (DELETE)

Ketikan URL berikut pada kolom URL untuk meng-hapus product:

http://localhost:3000/api/products/6

Pilih dengan method DELETE, kemudian klik tombol Send, maka Akan terlihat hasilnya seperti susuk berikut:

delete-method

Jika Anda perhatikan lega bagian response, terdapat “affectedRows”: 1, “insertId”: 0 ,dan “changedRows”: 0.

Itu berarti terletak satu data yang dihapus (delete) ke database dengan product_id=’6’ sesuai dengan parameter pada URL.

Related: Tutorial Membuat RESTful API dengan Node JS, Express, dan MongoDB

Kesimpulan

Pembahasan mungkin ini merupakan akan halnya bagaimana menciptakan menjadikan RESTful API tertinggal dengan node.js, express, dan mysql.

REST (REpresentational State Transfer) ialah suatu arsitektur metode komunikasi nan memperalat protocol HTTP untuk pertukaran data dan metode ini sering diterapkan intern pengembangan permohonan.

Tujuannya bikin menjadikan system dengan prestasi yang baik, cepat, dan mudah buat dikembangkan (scale) terutama dalam pertukaran dan komunikasi data.

Pada les kali ini, anda telah belajar bagaimana takhlik RESTful API sederhana dengan node.js, express, dan mysql.

Sekarang Kamu dapat menciptakan menjadikan API yang makin kompleks lagi.

Jadi tunggu apa kembali, Let’s coding!

Dapatkan potongan harga 75% paket hosting dan cuma-cuma domain + extra diskon 5% dengan memperalat kupon: MFIKRI

Antaran Sekarang.!


Download Source

Source: https://mfikri.com/artikel/restful-api