A RESTful API(Representational State Transfer) adalah jenis arsitektur dan protokol untuk merancang dan mengelola antarmuka pemrograman aplikasi(API) dalam sistem terdistribusi. RESTful API dibangun di atas prinsip dasar arsitektur REST, sebuah metode yang dijelaskan oleh Roy Fielding dalam disertasinya tahun 2000.
Karakteristik utama dari RESTful API meliputi:
Akses berbasis alamat
Setiap sumber daya diwakili oleh URL(Uniform Resource Locator), memungkinkan sistem berkomunikasi melalui permintaan HTTP seperti GET, POST, PUT, dan DELETE.
Akses tanpa negara
Setiap permintaan dari klien berisi informasi yang cukup bagi server untuk memahami permintaan tersebut tanpa bergantung pada informasi status sebelumnya. Server tidak menyimpan informasi tentang status klien di antara permintaan.
penggunaan metode HTTP
RESTful API menggunakan metode HTTP(GET, POST, PUT, DELETE) untuk menentukan tujuan dari setiap permintaan. Misalnya, gunakan GET untuk mengambil informasi, POST untuk membuat data baru, PUT untuk memperbarui, dan DELETE untuk menghapus.
Penggunaan jenis media
Data ditransmisikan melalui jaringan menggunakan format seperti JSON, XML, atau format khusus lainnya. Setiap permintaan perlu menentukan format data yang diinginkan.
Identifikasi sumber daya
Sumber daya diidentifikasi oleh URL unik, memungkinkan klien untuk mengakses sumber daya menggunakan pengidentifikasi berbasis jalur.
Dapat di-cache
Permintaan dan tanggapan dari a RESTful API dapat disimpan di memori klien atau server proxy untuk mengoptimalkan kinerja.
Sistem berlapis
Arsitekturnya REST memungkinkan penambahan lapisan perantara seperti load balancer atau server proxy untuk meningkatkan skalabilitas dan pengelolaan.
RESTful API banyak digunakan dalam pengembangan aplikasi web dan seluler, memungkinkan komunikasi yang efisien dan berbagi data antar aplikasi. Layanan web utama seperti Facebook, Twitter, dan Google juga memanfaatkan arsitektur RESTful untuk menyediakan API bagi pengembang.