Halo, selamat datang di Sandi Dharma Blog. REST API menyediakan Langkah yang Elastis dan ringan Kepada mengintegrasikan aplikasi, dan telah muncul sebagai metode paling Lumrah Kepada menghubungkan komponen dalam arsitektur microservices.
Apa itu REST API?
API adalah singkatan dari Application Programming Interface. API merupakan seperangkat aturan yang menentukan bagaimana aplikasi atau perangkat dapat terhubung dan berkomunikasi satu sama lain. REST API adalah API yang memiiki desain yang sesuai dengan prinsip REST (representational state transfer). REST memberikan tingkat fleksibilitas dan kebebasan yang relatif tinggi bagi pengembang. Fleksibilitas ini hanyalah salah satu Dalih mengapa REST API muncul sebagai metode Lumrah Kepada menghubungkan komponen dan aplikasi dalam arsitektur microservices.
Prinsip Desain REST API
REST API dapat dikembangkan menggunakan Nyaris Sekalian bahasa pemrograman dan mendukung berbagai format data. Satu-satunya syarat adalah bahwa REST API menyesuaikan enam prinsip desain REST sebagai berikut:
- Uniform Interface: Sekalian permintaan API Kepada sumber daya yang sama akan terlihat sama, dari mana pun permintaan itu berasal. REST API harus memastikan bahwa bagian data yang sama, seperti nama atau alamat email pengguna, hanya dimiliki oleh satu Uniform Resource Identifier (URI). Sumber daya Bukan boleh terlalu besar tetapi harus berisi setiap informasi yang mungkin dibutuhkan klien.
- Client-server decoupling: Dalam desain REST API, aplikasi klien dan server harus Betul-Betul independen satu sama lain. Satu-satunya informasi yang harus diketahui aplikasi klien adalah URI dari sumber daya yang diminta; itu Bukan dapat berinteraksi dengan aplikasi server dengan Langkah lain. Demikian pula, aplikasi server Bukan boleh memodifikasi aplikasi klien selain meneruskannya ke data yang diminta melalui HTTP.
- Stateless: REST API adalah stateless, artinya setiap permintaan harus menyertakan Sekalian informasi yang diperlukan Kepada memprosesnya. Dengan kata lain, REST API Bukan memerlukan sesi sisi server apa pun. Aplikasi server Bukan diizinkan Kepada menyimpan data apa pun yang terkait dengan permintaan klien.
- Cacheability: Kalau memungkinkan, sumber daya harus dapat disimpan dalam cache di sisi klien atau server. Respons server juga perlu berisi informasi tentang apakah caching diizinkan Kepada sumber daya yang dikirimkan. Tujuannya adalah Kepada meningkatkan kinerja di sisi klien, sekaligus meningkatkan skalabilitas di sisi server.
- Layered system architecture: Ddalam REST API, panggilan ke server dan respons melewati lapisan yang berbeda. Sebagai aturan praktis, jangan berasumsi bahwa aplikasi klien dan server terhubung langsung satu sama lain. Mungkin Eksis sejumlah perantara yang berbeda dalam lingkaran komunikasi. REST API perlu dirancang sehingga Berkualitas klien maupun server Bukan dapat mengetahui apakah itu berkomunikasi dengan aplikasi akhir atau perantara.
- Code on demand (optional): REST API biasanya mengirim sumber daya Stagnan, tetapi dalam kasus tertentu, respons juga dapat berisi kode yang dapat dieksekusi (seperti applet Java). Dalam kasus ini, kode hanya boleh dijalankan sesuai permintaan.
Standarisasi
REST API Mempunyai standarisasi mengenai URL dan HTTP verbs. Dalam penggunaan REST API, kita Pandai melakukan 5 jenis operasi yang berbeda pada URL yang sama. Berikut adalah standarisasi HTTP verbs:
- GET: digunakan Kepada mengambil resource
- POST: digunakan Kepada menambah resource
- PUT: digunakan Kepada mengupdate Sekalian field dalam resource
- PATCH: digunakan Kepada mengupdate bebrapa field dalam resource
- DELETE: digunakan Kepada menghapus resource