Apa itu REST Web Service: Tutorial Back-End Developer
REST atau Representational State Transfer adalah salah satu gaya arsitektur yang dapat diadaptasikan ketika membangun web service. Arsitektur ini sangat populer digunakan karena pengembangannya yang relatif mudah. Ia menggunakan pola request-response dalam berinteraksi, artinya ia memanfaatkan protokol HTTP.
Dalam implementasinya arsitektur REST benar-benar memisahkan peran client dan server, bahkan keduanya tidak harus saling mengetahui. Artinya ketika terjadi perubahan besar di sisi client, tidak akan berdampak pada sisi server, begitu juga sebaliknya.
REST API
Sebagian dari kalian mungkin mengenal Representational State Transfer dengan sebutan RESTful API. Yups, memang benar! RESTful merupakan sebutan untuk web services yang menerapkan arsitektur REST. Ia bisa disebut juga sebagai API (application program interface) karena digunakan untuk menjembatani antara sistem yang berbeda (client dan server).
API atau Application Program Interface sendiri merupakan antarmuka yang menjadi perantara antara sistem aplikasi yang berbeda. API tak hanya dalam bentuk Web Service, bisa saja berupa SDK (Software Development Kit) ataupun lainnya.
Berikut beberapa sifat pada REST API:
- Client-Server
Merupakan hal yang paling mendasar dalam membangun REST API. Server harus bisa merespon permintaan yang dilakukan client, baik itu ketika berhasil ataupun gagal. Komunikasi client dan server dilakukan melalui protokol HTTP.
- Stateless
REST API tidak boleh menyimpan keadaan (state) apapun terkait client. Seluruh state harus tetap disimpan di client. Artinya, tidak ada session di REST API. Permintaan yang dilakukan client harus mengandung informasi yang jelas. Jangan berharap RESTful API akan menyimpan informasi dari permintaan sebelumnya untuk digunakan di permintaan selanjutnya.
- Cacheable
Agar dapat merespon permintaan dengan cepat, sebaiknya REST API menerapkan prinsip cache. Sehingga setiap permintaan tidak melulu mengambil dari database.
- Layered
Ketika REST API server memiliki arsitektur yang kompleks, client seharusnya tidak perlu tahu bagaimana server melayaninya.
Konsep-Konsep yang Harus Diterapkan Sebelum Membangun REST API
Sebelum membangun REST API, kita perlu mengenal terlebih dahulu bagaimana konsep-konsep penting yang harus diterapkan dalam membangun arsitektur ini. Apa sajakah konsep-konsep itu?
Ketika membangun REST API kita harus memperhatikan empat konsep berikut:
- Format Request dan Response
REST API sering menggunakan JavaScript Object Notation atau JSON sebagai format data baik pada request ataupun response. Saat ini JSON adalah salah satu format standar dalam transaksi data. JSON sendiri menjadi format terpopuler mengalahkan pendahulunya, yaitu XML. Agar REST API dapat selalu merespon dengan format JSON, pastikan setiap response terdapat properti Content-Type dengan nilai application/json .
- HTTP Verbs/Methods
Karena REST API menggunakan protokol HTTP, maka kita dapat memanfaatkan HTTP verbs (kata kerja) untuk menentukan aksi. Contohnya GET untuk mendapatkan data, POST untuk mengirimkan data baru, PUT untuk memperbarui data yang ada, dan DELETE untuk menghapus data. Verbs tersebut adalah verbs yang umum digunakan dalam operasi CRUD (Create, read, update, and delete).
- HTTP Response Code
Status-Line merupakan salah satu bagian dari HTTP Response. Dalam status line terdapat response code yang mengindikasikan bahwa permintaan yang client lakukan telah berhasil atau tidak. Maka dari itu, ketika membangun REST API kita perlu memperhatikan dan menetapkan response code secara benar. Status code bernilai 3 digit angka, berikut nilai-nilai status code yang sering digunakan:
- 200 (OK) – Permintaan client berhasil dijalankan oleh server.
- 400 (Bad Request) – Permintaan client tidak dapat dijalankan karena kegagalan dalam proses validasi input dari client.
- 500 (Internal Server Error) – Permintaan client tidak dapat dijalankan karena server mengalami kesalahan.
- URL Design
URL, Path, atau End point merupakan beberapa hal penting yang harus diperhatikan ketika membangun REST API. Dengan merancang endpoint yang baik, penggunaan API akan lebih mudah dipahami. Ikutilah aturan umum atau convention agar penggunaan API memiliki standar yang diharapkan oleh banyak developer.
Comments
Post a Comment