REST API: Struktur, Cara Kerja, dan Contoh Penerapannya
Jika Anda sedang mendalami hal-hal terkait development atau programming, Anda mungkin pernah menjumpai istilah REST API. Secara terminologi, REST API adalah istilah yang berasal dari dua kata, yaitu API dan REST.
Nah, saat API memenuhi standar yang ditentukan oleh gaya arsitektur REST, inilah yang disebut dengan RESTful API. Khususnya bagi para developer, metode semacam ini sangat berguna untuk mengembangkan sistem software.
Berbicara mengenai gaya arsitektur REST sendiri, di dalamnya terdapat banyak sekali hal yang perlu Anda pahami terlebih dahulu. Sebelum sampai pada RESTful API, mari kita bedah satu per satu mengenai API dan REST terlebih dahulu.
Apa Itu REST API?
Seperti yang kami sebutkan di atas, istilah REST API terdiri dari dua kata, yaitu API dan REST. Maka, untuk membahas pengertiannya, kita perlu terlebih dahulu membedah dua kata tersebut.
API atau dalam kepanjangangannya disebut Application Programming Interface adalah serangkaian aturan dan protokol yang memungkinkan berbagai perangkat lunak atau aplikasi untuk berkomunikasi satu sama lain. API memungkinkan developer untuk mengintegrasikan fungsionalitas dari suatu sistem atau layanan ke dalam aplikasi lain, tanpa perlu tahu secara rinci bagaimana implementasi internal sistem tersebut bekerja.
Sementara itu, Representational State Transefer (REST) adalah suatu gaya arsitektur yang digunakan dalam desain API web untuk berkomunikasi antara klien (biasanya aplikasi atau perangkat lunak yang mengakses API) dan server (tempat data atau layanan disimpan). REST memanfaatkan prinsip-prinsip seperti representasi sederhana dari sumber daya (biasanya dalam format JSON atau XML), operasi HTTP yang sudah ada (seperti GET, POST, PUT, DELETE), dan penggunaan URI (Uniform Resource Identifier) untuk mengidentifikasi sumber daya.
Jadi, untuk merangkum keduanya, REST API adalah jenis arsitektur API yang digunakan dalam software development untuk mengizinkan komunikasi antara berbagai sistem atau perangkat lunak melalui protokol HTTP. REST API beroperasi berdasarkan prinsip-prinsip REST, yang merupakan pendekatan yang sederhana dan ringkas untuk mentransfer data melalui jaringan.
Ketika Anda menggunakan REST API, Anda dapat membuat permintaan HTTP seperti GET, POST, PUT, DELETE, dll. untuk berinteraksi dengan sumber daya atau data pada server. API ini memungkinkan Anda untuk melakukan operasi seperti membaca, menambahkan, mengubah, atau menghapus data dari server secara eksternal, tanpa harus memiliki akses langsung ke database atau server fisik.
Karakteristik REST API
Beberapa karakteristik utama dari REST API adalah di bawah ini.
1. Statelessness
Setiap permintaan dari klien ke server harus mencakup semua informasi yang diperlukan. Server tidak menyimpan status (state) klien antara permintaan, sehingga setiap permintaan dianggap independen.
2. Client-Server
Dalam arsitektur REST API, ada pemisahan jelas antara peran klien dan server. Pemisahan ini memungkinkan pengembangan independen dari klien dan server, karena perubahan dalam salah satu komponen tidak harus mempengaruhi yang lain. Ini juga memungkinkan skalabilitas yang lebih baik, karena klien dan server dapat dikembangkan dan dielaborasi secara terpisah.
3. Cacheable
REST API mendukung mekanisme caching, yang memungkinkan klien menyimpan salinan respons sebelumnya untuk permintaan yang serupa, mengurangi lalu lintas jaringan dan mempercepat respons.
4. Uniform Interface
Prinsip ini menjelaskan bahwa antarmuka antara klien dan server harus seragam dan konsisten. Ini menciptakan lingkungan di mana klien dapat berkomunikasi dengan server menggunakan seperangkat aturan yang jelas dan dapat diandalkan. Aspek-aspek penting dari antarmuka seragam ini termasuk identifikasi sumber daya, manipulasi representasi, dan penggunaan metode HTTP.
5. Self-Descriptive Message
Dalam konteks REST API, ini berarti bahwa pesan HTTP yang dikirim harus mengandung informasi yang jelas tentang jenis data yang diharapkan (melalui tipe media, seperti "application/json"), bagaimana data diolah (melalui metode HTTP), dan informasi lain yang diperlukan.
Cara Kerja REST API
Cara kerja REST API melibatkan serangkaian permintaan dan respons HTTP antara klien (client) dan server. Klien adalah aplikasi atau perangkat yang ingin berinteraksi dengan sumber daya atau data yang disediakan oleh server melalui API. Berikut adalah langkah-langkah umum dalam cara kerja REST API.
1. HTTP Request dari Klien
Klien membuat HTTP request ke server untuk mengakses atau memanipulasi sumber daya tertentu. Berikut adalah HTTP request yang digunakan dalam metode REST API:
- GET (mendapatkan data)
- POST (mengirim data baru)
- PUT (memperbarui data yang ada)
- DELETE (menghapus data).
2. Pengiriman Permintaan ke Endpoint
Klien mengirim request ke server dengan menyertakan URL atau endpoint yang sesuai dengan sumber daya yang ingin diakses. Contoh endpoint: http://contoh.com/api/data.
3. Proses Permintaan di Server
Server menerima permintaan dan memprosesnya sesuai dengan metode dan endpoint yang diberikan. Server kemudian mengambil data dari database atau melakukan operasi lain yang diperlukan berdasarkan permintaan tersebut.
4. Pembuatan Respons
Setelah memproses permintaan, server menghasilkan respons yang sesuai. Respons ini biasanya berupa data yang diminta oleh klien atau konfirmasi bahwa operasi berhasil dilakukan.
5. Pengiriman Respons ke Klien
Server mengirimkan respons ke klien melalui HTTP. Respons ini berisi status kode HTTP untuk menunjukkan apakah permintaan berhasil atau gagal, bersama dengan data yang diminta atau informasi lain yang relevan.
6. Pemrosesan Respons di Klien
Klien menerima respons dari server dan memprosesnya sesuai dengan kebutuhan. Misalnya, jika klien melakukan permintaan GET, data dari respons akan digunakan untuk menampilkan informasi pada antarmuka pengguna.
7. Interaksi Lanjutan (Opsional)
Berdasarkan respons yang diterima, klien atau server dapat melakukan interaksi lanjutan seperti permintaan tambahan atau operasi lebih lanjut.
Struktur REST API
Dalam penerapannya pada coding, REST API dapat digunakan menggunakan struktur di bawah ini.
- GET (Get All Users): https://example.com/api/users
contoh curl -X GET http://example.com/api/users
- GET (Get user By id): https://example.com/api/users/1
contoh: curl -X GET http://example.com/api/users/1
- POST (Create a new user): https://example.com/api/users
contoh curl -X POST http://example.com/api/users -d '{"name": "John Doe"}'
- PATCH/PUT (Edit a user): https://example.com/api/users/1
contoh: curl -X PATCH http://example.com/ap/users/1 -d '{"name": "Jane Doe"}'
- DELETE (Delete a user): https://example.com/api/users/1
contoh: curl -X DELETE http://example.com/api/users/1
Contoh Penerapan REST API untuk Pengiriman Email dengan JavaScript
Kami menampilkan contoh di bawah ini yang menampilkan penggunaan metode REST API dalam pengiriman email melalui dashboard mailtarget.co. Perlu Anda pahami, kami menampilkan JavaScript untuk contoh di bawah, tapi jika Anda lebih menyukai bahasa pemrograman lain, mailtarget juga menyediakannya.
curl --location 'https://apiconfig.mailtarget.co/v1/layang/transmissions' \
--header 'accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer HC7BFuoaxkatg8gNlEQfPtBg' \
--data-raw '{
"bodyText": "Congratulation, you just sent email with mailtarget. You are truly awesome!",
"bodyHtml": "<!DOCTYPE html><html lang=\"en\"><head><meta charset=\"UTF-8\"><title>Hello from mailtarget</title></head><body><p>Congratulation, you just sent email with mailtarget. You are truly awesome!</p></body></html>",
"from": {
"email": "[email protected]",
"name": "mailtarget Sandbox"
},
"subject": "Hello from mailtarget",
"to": [
{
"email": "[email protected]",
"name": ""
},
{
"email": "[email protected]",
"name": ""
}
]
}'
Perbedaan REST API vs RESTful API
Ini merupakan satu pemahaman yang sering disalahi oleh para pemula. REST API dan RESTful API merupakan dua metode transfer data yang berbeda. Anda telah memahami apa itu REST API, maka kami hanya akan menyebutkan mengenai RESTful API. Ini terjadi ketika dalam sebuah sistem Anda menggunakan semua metode request yang kami sebutkan sebelumnya: GET, POST, PATCH/PUT, dan DELETE.
Itulah pembahasan tentang REST API. Mulai dari definisi, cara kerja dan contohnya. Dapatkan tips dan trik menarik lainnya di blog kami. Ingin memulai menggunakan produk kami? Daftarkan diri Anda di sini. Jangan lupa subscribe ke email newsletter kami di sini untuk mengetahui artikel, produk, event, dan promosi baru kami.
(A.A) edited by (V.V)