Apa itu RESTful API? - Pengertian dan Penjelasan Sederhana REST API - Galih Laras Prakoso

Senin, 01 April 2019

Apa itu RESTful API? - Pengertian dan Penjelasan Sederhana REST API
apa-itu-rest-ful-api-pengertian-penjelasan
Mungkin sebelum kalian menemukan tutorial ini, kalian sudah mendengar sedikit tentang apa itu RESTful API. Entah kalian mencari tahu tentang RESTful API untuk keperluan studi atau kalian diminta oleh tempat kalian bekerja untuk membuat RESTful API. Yang jelas, seperti biasa tutorial yang saya buat, akan saya kemas se-sederhana mungkin agar mudah dipahami oleh semua kalangan.

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. Mmm, 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.

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 :
  1.  - Endpoint
  2.  - Method
  3.  - Headers
  4.  - Data (body)
1. Endpoint
Endpoint atau route adalah URL / alamat request. Biasanya akan tampak seperti ini :
https://blockchain.info/tobtc?currency=USD&value=500
URL di atas adalah contoh REST API yang dapat kita gunakan untuk mendapatkan harga bitcoin saat ini. Kita dapat memodifikasi 2 parameter yaitu currency dan value untuk mendapatkan data yang sesuai dengan kebutuhan kita.

Cara sederhana untuk mengkonsumsi API adalah dengan menggunakan cURL. Coba kalian buka terminal (CMD) dan ketikan kode di bawah ini untuk memanggil salah satu tools yang sangat luar biasa ini :
curl --version
Jika perintah tersebut berhasil menampilkan versi curl yang terinstal pada komputermu maka kamu bisa menggunakan tool tersebut untuk mengkonsumsi API. Jika berhasil, langsung saja kamu masukkan perintah ini ke terminal :
curl "https://blockchain.info/tobtc?currency=USD&value=500"
Jika koneksi internet kalian aman, maka kalian akan mendapatkan response dari server dimana API tersebut dibuat. Response tersebut berupa harga bitcoin saat ini sesuai dengan parameter yang dimasukkan yaitu mata uang USD dengan jumlah 500.

Endpoint di atas hanya mengembalikan response sederhana berupa harga dari bitcoin saat ini. Nah, biasanya untuk data yang lebih kompleks, endpoint akan mengembalikan response dengan format JSON. Ini contoh nya :
https://api.coindesk.com/v1/bpi/currentprice.json
Apa itu JSON? JSON adalah singkatan dari (Javascript Object Notation), JSON adalah format yang umum digunakan untuk mengirim dan menerima data melalui RESTful API. Response yang dikembalikan oleh endpoint di atas adalah contoh data yang berformat JSON.

2. Method
Ada beberapa jenis method atau metode yang dapat kita gunakan untuk melakukan request yang akan kita kirimkan ke server, yaitu :

  • - GET
  • - POST
  • - PUT
  • - PATCH
  • - DELETE
Beberapa method diatas menunjukkan tipe dari request yang biasanya digunakan untuk melakukan beberapa aksi yaitu CREATE, READ, UPDATE, DELETE (CRUD). Membuat, Membaca, Mengubah dan Menghapus.

GET. adalah method yang biasa digunakan untuk mendapatkan data dari server. Ketika kita melakukan request dengan method GET maka server akan mencarikan data yang sesuai dengan kebutuhan kita dan kemudian mengembalikan data tersebut melalui response. Inilah yang biasa disebut dengan aksi READ ( Membaca ).

POST. adalah method yang biasa digunakan untuk membuat data baru pada database yang ada di server. kita dapat mengirimkan data yang akan dibuat melalui body dari request yang kita kirim. Inilah yang biasa disebut dengan aksi CREATE ( Membuat ).

PUT / PATCH. adalah method yang biasa digunakan untuk mengupdate data yang sudah ada pada database yang ada di server. Mirip seperti POST namun method ini biasanya digunakan untuk mengubah data bukan membuat. Inilah yang biasa disebut dengan aksi UPDATE (Memperbarui).

DELETE. adalah method yang biasa digunakan untuk menghapus data yang sudah ada pada databse yang ada di server. Inilah yang biasa disebut dengan aksi DELETE (Menghapus).

3. Headers
Headers berguna untuk memberikan informasi baik dari client ke server maupun server ke client.  Headers dapat digunakan untuk berbagai macam keperluan seperti autentikasi dan penjelasan mengenai konten yang ada pada body dari request yang dikirimkan.

4. Data / Body
Data / Body adalah bagian dari request yang menyimpan informasi yang dikirimkan. Body hanya digunakan pada method POST, PUT / PATCH atau DELETE.

5. Autentikasi
Terkadang endpoint yang ada pada RESTful API di proteksi oleh server untuk keperluan keamanan. Untuk dapat mengakses endpoint yang di proteksi biasanya kita diminta untuk menginputkan username dan password atau yang biasa disebut dengan basic auth atau menggunakan token rahasia pada request yang kita kirim untuk menjadi pengenal bahwa kita berhak untuk mendapatkan data yang kita minta.

6. HTPP Status Codes
Status code adalah kode berupa angka dari 100+ hingga 500+ yang dapat menjelaskan status dari response yang dikirimkan oleh server.
  • - 200+ berarti request yang kita kirim berhasil / sukses.
  • - 300+ berarti request yang kita kirim dialihkan ke URL lain.
  • - 400+ berarti terjadi error yang berasal dari client berkaitan dengan request yang dikirim.
  • - 500+ berarti terjadi error yang berasal dari server.
Yap, jadi sekarang kamu telah mengenal dan belajar tentang apa itu RESTful API. Semoga dapat membantu kalian dalam mengerjakan apapun yang berkaitan dengan RESTful API.

Web App Developer, Mobile App Developer and Startup Enterpreneur.

0 komentar:

Posting Komentar

GALIH LARAS PRAKOSO
-
Yogyakarta, Indonesia

SEND ME A MESSAGE