REST API

0
13
Baraja Coding

Sejarah dan Definisi REST API

REST (Representational State Transfer) adalah gaya arsitektur perangkat lunak yang pertama kali diperkenalkan oleh Roy Fielding pada tahun 2000 dalam disertasinya. Sejak itu, REST telah menjadi salah satu pendekatan yang paling banyak digunakan untuk membangun API berbasis web. REST bukanlah protokol atau standar, melainkan gaya arsitektural. Selama fase pengembangan, pengembang API dapat menerapkan REST dengan berbagai cara.

Prinsip-prinsip REST API

REST didasarkan pada beberapa prinsip dan batasan yang mempromosikan kesederhanaan, skalabilitas, dan statelessness dalam desain. Berikut adalah enam prinsip atau batasan arsitektur RESTful:

  1. Uniform Interface: Dengan menerapkan prinsip umum ke antarmuka komponen, kita dapat menyederhanakan arsitektur sistem secara keseluruhan dan meningkatkan visibilitas interaksi. Ada empat batasan yang dapat mencapai antarmuka REST yang seragam:
    • Identifikasi sumber daya: Antarmuka harus mengidentifikasi secara unik setiap sumber daya yang terlibat dalam interaksi antara klien dan server.
    • Manipulasi sumber daya melalui representasi: Sumber daya harus memiliki representasi seragam dalam respons server. Konsumen API harus menggunakan representasi ini untuk memodifikasi keadaan sumber daya di server.
    • Pesan yang mendeskripsikan dirinya sendiri: Setiap representasi sumber daya harus membawa cukup informasi untuk menjelaskan bagaimana memproses pesan. Pesan juga harus memberikan informasi tentang tindakan tambahan yang dapat dilakukan klien pada sumber daya.
    • Hypermedia sebagai mesin keadaan aplikasi: Klien hanya harus memiliki URI awal aplikasi1. Aplikasi klien harus secara dinamis menggerakkan semua sumber daya lain dan interaksi dengan penggunaan hyperlink.
  2. Client-Server: Pola desain client-server memaksakan pemisahan kepentingan, yang membantu komponen klien dan server berkembang secara independen.
  3. Stateless: Setiap permintaan dari klien ke server harus berisi semua informasi yang diperlukan untuk memahami dan memproses permintaan tersebut. Server tidak boleh menyimpan informasi konteks antara permintaan.
  4. Cacheable: Respons dari server dapat dicache oleh klien untuk meningkatkan kinerja.
  5. Layered System: Arsitektur REST memungkinkan penggunaan lapisan antara klien dan server, seperti load balancers atau cache servers.
  6. Code on Demand (Opsional): Server dapat memberikan kode yang dapat dieksekusi oleh klien (misalnya, JavaScript).

Metode HTTP dalam REST API

REST API menggunakan metode HTTP standar:

  • GET: Mengambil data dari server.
  • POST: Mengirimkan data baru ke server.
  • PUT: Memperbarui data yang ada di server.
  • DELETE: Menghapus data dari server.

REST API adalah cara yang efisien dan fleksibel untuk membangun layanan web. Dengan memanfaatkan metode HTTP dan prinsip-prinsip REST, pengembang dapat membuat aplikasi yang mudah digunakan, performa tinggi, dan mudah dikelola.

LEAVE A REPLY

Please enter your comment!
Please enter your name here