Pengantar Web Service RESTful
Apa itu REST?
REST adalah singkatan dari REpresentational State Transfer, dikembangkan oleh Roy Thomas Fielding. Tujuan utama RESTful web services adalah membuat layanan web lebih efektif dengan memanfaatkan konsep-konsep yang sudah ada dalam HTTP. REST adalah pendekatan arsitektural, bukan protokol, dan tidak mendefinisikan format pertukaran pesan standar. Layanan REST dapat dibangun dengan XML dan JSON, meskipun JSON lebih populer.
Abstraksi Utama dalam REST
Dalam REST, abstraksi utamanya adalah resource yang dapat diakses melalui Uniform Resource Identifier (URI). Contohnya:
- GET: Membaca resource.
- PUT: Memperbarui resource yang ada.
- POST: Membuat resource baru.
- DELETE: Menghapus resource.
Contoh URI
- POST /users: Membuat pengguna baru.
- GET /users/{id}: Mendapatkan detail pengguna.
- GET /users: Mendapatkan detail semua pengguna.
- DELETE /users: Menghapus semua pengguna.
- DELETE /users/{id}: Menghapus pengguna tertentu.
- GET /users/{id}/posts/{post_id}: Mendapatkan detail postingan tertentu.
- POST /users/{id}/posts: Membuat postingan untuk pengguna.
Status Kode HTTP Standar
- 404: Resource Tidak Ditemukan.
- 200: Sukses.
- 201: Dibuat.
- 401: Tidak Terotorisasi.
- 500: Kesalahan Server.
Kendala Layanan RESTful
- Harus ada produser dan konsumen layanan.
- Layanan harus stateless.
- Hasil layanan harus dapat di-cache.
- Antarmuka harus seragam dan mengekspos resources.
- Layanan harus menggunakan arsitektur berlapis.
Keuntungan Layanan RESTful
- Platform-independent.
- Dapat ditulis dalam bahasa pemrograman apapun dan dijalankan di platform manapun.
- Mendukung berbagai format data seperti JSON, teks, HTML, dan XML.
- Lebih cepat dibandingkan SOAP karena tidak ada spesifikasi ketat seperti SOAP.
- Reusable.
- Netral terhadap bahasa.
//TC