Apa itu REST api?



Halo teman ngide! Kita akan membahas tentang REST atau mungkin yang sering orang bilang API? Sama ga sih REST sama API itu? 

REST itu kependakan dari REpresentational State Transfer yang merupakan standar arsitektur berbasis web yang menggunakan protokol HTTP untuk berkomunikasi data. Nah REST ini diperkenalkan oleh Roy Fielding pada tahun 2000. Lalu API itu artinya Application Protocol Interface dimana adalah kumpulan dari subroutine definitions, protocol dan juga tools untuk berkomunikasi data antar aplikasi software. Jadi bisa dibilang, REST itu adalah salah satu dari desain arsitektur di dalam 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 Identifiers). Nah data yang diberikan oleh REST server itu bisa berupa format text, JSON atau XML. Yang paling populer dipakai saat ini adalah format JSON.

Adapun metode HTTP yang secara umum dipakai dalam REST api adalah:

  • GET, biasanya digunakan untuk membaca resource dari  REST server
  • POST, biasanya digunakan untuk membuat resource baru di REST server
  • PUT, biasanya digunakan untuk memperbaharui resource di REST server
  • DELETE, biasanya digunakan untuk menghapus resource dari REST server
  • OPTIONS, digunakan untuk mendapatkan operasi yang disupport pada resource dari REST server

REST adalah salah satu implementasi dari web service yaitu sebuah standar yang digunakan untuk pertukaran data antar aplikasi atau sistem. Biasanya aplikasi atau sistem ini menggunakan bahasa pemrogramman yang berbeda sehingga untuk bisa berkomunikasi satu sama lainnya bisa menggunakan web service ini.

Lalu bagaimana cara kerja REST API?

Pertama harus ada sebuah REST server yang akan menyediakan resource/data. Sebuah REST client akan membuat HTTP request ke server melalui sebuah global ID atau URIs dan server akan merespon dengan mengirimkan balik sebuah HTTP response sesuai yang diminta client.

Apa aja komponen dari 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 dan lain
  • Request Body, data yang diberikan client ke server seperi URI params

Apa saja komponen dari HTTP response:

  • Response Code, status server terhadap request yang diminta seperti 200, 401, 404 dan lainnya.
  • HTTP Version
  • Response Header yang berisi meta data seperti contect type, cache tag dan yang lainnya.
  • Repsonse Body, data/resource yang diberikan oleh server baik itu berupa text, json ataupun xml

Lalu apa saja keuntungan dan kelemahan REST ini ?

Kelebihan:

  • Bisa digunakan oleh banyak bahasa pemroggraman dan banyak platform
  • Lebih simple dibandingkan dengan SOAP
  • Mudah dipelajari
  • ini seperti web, menggunakan protokol HTTP, dan HTTP ada dimana-mana

Kekurangan:

  • Waktu akses yang biasanya lebih lama dibandingkan dengan native library
  • Lebih rentan dengan serangan keamanan karena harus melewati protocol HTTP

Jadi seperti itulah sedikit perkenalan dengan REST API. Untuk teman-teman yang membutuhkan arsitektur API yang bisa diakses oleh banyak bahasa pemrogramman dan banyak platform sekaligus maka membuat REST api bisa menjadi pilihan yang menguntungkan.

Good referensi:


Share Yuk:

Rekomendasi untuk di baca!


PHP : Penjelasan Tentang Function


Temukan Kami