Total Request

IP Anda

Wibusoft REST API


RESTful API, juga dikenal sebagai layanan web RESTful atau hanya REST API, yang berarti Representational State Transfer (REST), adalah suatu pola atau gaya arsitektur standart untuk layanan web yang memudahkan sistem berkomunikasi satu sama lain dan berbagi data. Web API adalah kerangka kerja yang memudahkan pembuatan layanan HTTP yang menjangkau berbagai klien, termasuk browser dan perangkat seluler. REST adalah pola desain untuk API, dan API yang mengikuti pola, dan aturan.

Kepanjangan dari API adalah Application Programming Interface, yang merupakan penghubung perangkat lunak ke perangkat lunak. API memungkinkan perangkat lunak berinteraksi satu sama lain, sesuai fungsi dan prosedur yang ada. Seperti API dalam aplikasi web. Server menerima permintaan yang masuk atau request melalui URL atau end point; kemudian API memberikan tanggapan sebagai balasan atas permintaan yang diterima. Seperti kita menonton video situs dan kita melakukan pencarian video dengan mengetikan judul pada kolom pencarian. Kemudian situs tersebut menampilkan video yang kita cari. Setiap ada permintaan yang masuk, API akan memberi tanggapan sebagai balasan.

Prinsip dan Panduan REST

  1. Client-Server : Dengan memisahkan masalah antarmuka pengguna dari masalah penyimpanan data, kami meningkatkan portabilitas antarmuka pengguna di berbagai platform dan meningkatkan skalabilitas dengan menyederhanakan komponen server. Klien hanya peduli pada user interface atau frontend dan server yang hanya menangani penyimpanan data atau bagian backend. Ini akan membuat masing-masing dapat dikembangkan atau dimodifikasi secara mendiri atau terpisah dan tidak saling ketergantungan.
  2. Stateless : Setiap permintaan dari klien ke server harus berisi semua informasi yang diperlukan untuk memahami permintaan tersebut, dan tidak dapat memanfaatkan konteks yang disimpan di server; Oleh karena itu, status sesi disimpan sepenuhnya pada klien dan server tidak akan menyimpan data apa pun untuk setiap permintaan / request.
  3. Cacheable : Dapat menyimpan sumber daya dalam cache. Permintaan atau request klien ke sumber daya yang sama secara berulang-ulang akan menghasilkan respons yang dikirim secara berulang. Hal ini akan lebih baik dan efektif jika sumber daya dapat di simpan ke dalam cache dan digunakan kembali untuk permintaan berikutnya, dan server tidak perlu memroses permintaan yang sama secara berulang, sehingga dapat meringankan response.
  4. Code On Demand (opsional) : REST memungkinkan fungsionalitas klien diperluas dengan mengunduh dan menjalankan kode dalam bentuk skrip. Ini menyederhanakan klien dengan mengurangi jumlah fitur yang diperlukan untuk diterapkan sebelumnya.
  5. Uniform Interface : Dengan menerapkan prinsip rekayasa perangkat lunak umum ke antarmuka komponen, arsitektur sistem secara keseluruhan disederhanakan dan visibilitas interaksi ditingkatkan. Untuk mendapatkan antarmuka yang seragam, beberapa batasan arsitektur diperlukan untuk memandu perilaku komponen. REST didefinisikan oleh empat batasan antarmuka: identification of resources; manipulation of resources through representations; self-descriptive messages; dan, hypermedia as the engine of application state.
  6. Layered System : Dalam mengurangi beban, menambah fungsionalitas, stabilitas atau keamanan yang berlapis dapat menggunakan sistem atau server perantara di luar server utama; dan klien tidak perlu mengetahuinya.

Resource Methods

HTTP (HyperText Transfer Protocol) adalah suatu metode komunikasi antara client dan server yang memungkinkan kita melakukan tindakan yang ingin dilakukan ke sumber daya, seperti mengambil data, menambahkan data, mengedit, dan menghapus data; atau yang kita kenal dengan CRUD. Hal penting lainnya yang terkait dengan REST API adalah metode yang akan digunakan untuk melakukan transisi yang diinginkan. Banyak orang salah menghubungkan metode sumber daya dengan metode GET / PUT / POST / DELETE.

  • GET : Digunakan untuk mengambil atau membaca representasi sumber daya. Metode GET hanya mengambil data, tidak dapat mengubah data yang diminta pada server.
  • POST : Digunakan untuk membuat data atau sumber daya baru ke server atau database.
  • PUT : Digunakan untuk memperbaharui data. Metode PUT hanya mengembalikan data yang sedang digunakan dengan data baru.
  • DELETE : Digunakan untuk menghapus data yang dipilih dari daftar sumber daya.

Roy Fielding tidak pernah menyebutkan rekomendasi metode mana yang akan digunakan dalam kondisi apa. Yang dia tekankan adalah antarmuka harus seragam. Jika Anda memutuskan HTTP POST akan digunakan untuk memperbarui sumber daya – daripada kebanyakan orang merekomendasikan HTTP PUT – tidak apa-apa dan antarmuka aplikasi akan tetap berjalan.

Roy Fielding - source Wikipedia

Memahami apa itu RESTful API tidak hanya cukup dengan mengkajinya secara teoritasnya saja, namun Anda juga memerlukan praktik langsung dengan dukungan yang maksimal.