Selasa, 20 Agustus 2019

Mengenal Apa Itu REST API Beserta Kelebihan Dan Kekurangannya




REST atau kependekan dari REpresentational State Transfer adalah standar arsitektur berbasis web yang menggunakan protokol HTTP untuk berkomunikasi data. REST diperkenalkan oleh Roy Fielding pada tahun 2000. Sedangkan API atau Application Protocol Interface adalah kumpulan dari subroutine definitions, protocol dan juga tools untuk berkomunikasi data antar aplikasi software. Jadi, REST adalah salah satu dari desain arsitektur didalam API.  

Cara kerja RESTful API adalah REST client akan mengakses data/resource ke REST server, dimana masing-masing resource atau data tersebut dibedakan oleh sebuah global ID atau URIs (Universal Resource Identifier). Jadi data yang diberikan oleh REST server itu bisa berupa format text, JSON atau XML, yang paling populer dipakai saat ini adalah format JSON.

Berikut ini adalah metode HTTP yang umumnya dipakai dalam REST API

  • GET, digunakan untuk membaca resource dari REST server
  • POST, digunakan untuk membuat resource baru di REST server
  • DELETE, digunakan  untuk menghapus resource dari REST server
  • PUT, digunakan untuk memperbaharui resource di REST server
  • OPTIONS, digunakan untuk mendapatkan operasi yang disupport pada resource dari REST server
REST merupakan salah satu implementasi dari web service sebagai sebuah standar yang digunakan untuk pertukaran data antar aplikasi atau sistem. Biasanya aplikasi atau sistem ini menggunakan bahasa pemrograman yang berbeda sehingga untuk bisa berkomunikasi satu sama lain bisa menggunakan web service ini.

CARA KERJA REST API
  1. Harus ada sebuah REST server yang menyediakan resource/data. 
  2. Sebuah REST client akan membuat HTTP request ke server melalui sebuah global ID atau URIs dan 
  3. Server akan merespon dengan mengirimkan balik sebuah HTTP response sesuai yang diminati client.
Berikut ini beberapa komponen HTTP request 
  • HTTP method seperti GET, POST, PUT, DELETE dll sesuai dengan tugasnya masing-masing
  • URI untuk mengetahui lokasi data di server
  • HTTP version, seperti HTTP V1.1
  • Request Header, berisi metadata seperti Authorization, tipe client dll
  • Request Body, data yang diberikan client ke server seperti URI params
Berikut ini beberapa komponen dari HTTP response 
  • Response Code, status server terhadap request yang diminta seperti 200, 401, 404, dan sebagainya
  • HTTP Version
  • Response Header yang berisi metadata seperti contect type, cache tag dan yang lainnya
  • Response Body, data/resource yang diberikan oleh server baik itu berupa text, Json maupun xml.
Lalu apa saja kelebihan dan kelemahan dalam menggunakan REST ?

Kelebihan REST
  1. Bisa digunakan oleh banyak bahasa pemrograman dan banyak platform
  2. lebih simpel dibandingkan dengan SOAP
  3. mudah dipelajari
  4. seperti web yaitu menggunakan HTTP, dan HTTP dimana-mana ada
Kekurangan menggunakan REST
  1. Waktu akses yang biasanya lebih lama dibandingkan dengan native library
  2. lebih rentan dengan serangan keamanan karena melewati protocol HTTP

Tidak ada komentar:

Posting Komentar