REST API merupakan kependekan dari Representational State Transfer Application Programming Interface yang merupakan model pengembangan arsitektur dengan basis website guna menciptakan servis website yang skalabel dan efektif. API ini memungkinkan komunikasi antara sistem perangkat lunak yang berbeda melalui request dan respons HTTP. 

RESTful API mematuhi seperangkat batasan serta prinsip misalnya statelessness, antarmuka yang seragam, hingga caching sehingga memungkinkan terjadinya integrasi dengan sistem lain yang jauh lebih sederhana dan fleksibel. 

Dengan memanfaatkan kata kerja HTTP seperti GET, POST, PUT, dan DELETE, REST API memungkinkan klien berinteraksi langsung dengan resource di server lewat cara yang bisa diperkirakan dan telah distandarisasi. RESTful API telah menjadi standar industri di bidang layanan website karena kesederhanaan, skalabilitas, dan kompatibilitasnya dengan berbagai bahasa pemrograman dan framework. Kalau kamu masih bingung mengenai REST API, coba lihat contoh di bawah ini.

pemantauan rest api
Source picture by https://pixabay.com/id/users/200degrees-2051452/

Contoh REST API

Beberapa contoh REST API yang terkenal antara lain: Twitter API, Facebook Graph API, YouTube Data API, Google Maps API, dan GitHub API. Selain itu, banyak perusahaan besar seperti Amazon, Microsoft, bahkan PayPal mempunyai REST API sendiri untuk mendukung integrasi dengan layanan mereka soal keuangan. Tentu dalam pengintegrasian beberapa REST API yang telah disebutkan menggunakan metode tertentu.

Daftar Method dalam REST API

Ada beberapa metode (atau sering disebut “kata kerja HTTP”) yang diterapkan di REST API dalam berinteraksi dengan sejumlah sumber daya di server, antara lain: 

  1. GET: dapat digunakan untuk menarik atau membaca data dari resource di server
  2. POST: dipakai ketika hendak menciptakan atau menyisipkan data baru ke sumber daya di server
  3. PUT: berfungsi untuk meng-update atau memodifikasi data pada resource yang sudah ada di server
  4. DELETE: adalah perintah untuk membersihkan atau menghapus sumber daya resources atau yang ada di server
  5. PATCH: berfungsi untuk meng-update data yang ada pada sebuah resources di server, tapi hanya mengubah sebagian kecil data. 
  6. HEAD: dipakai untuk memperoleh metadata dari resources di server, seperti header, tanpa mengambil isi resource
  7. OPTIONS: dipergunakan untuk mendapatkan daftar metode yang tersedia pada sumber daya di server

Masing-masing metode ini memiliki tujuan dan kegunaan tersendiri dalam berinteraksi dengan sumber daya di server. Pada praktiknya, aplikasi RESTful biasanya mengimplementasikan kombinasi dari metode-metode tersebut untuk melakukan operasi CRUD (Create, Read, Update, Delete) pada resource yang ada di server.

Sebelum masuk ke pembahasan soal testing, kami merekomendasikan artikel mengenai metrik-metrik dari API yang sebaiknya dimonitoring agar kinerja dapat lebih optimal. Silakan baca artikel ini: 5 Metrik API yang Penting.

Testing REST API

Testing REST API adalah proses pengujian yang dilakukan untuk memastikan bahwa API REST yang dibangun telah berfungsi dengan benar dan memenuhi spesifikasi yang telah ditentukan. Ada beberapa jenis pengujian REST API yang dapat dilakukan, antara lain: 

1. Unit testing

Dilakukan pada level kode untuk memastikan bahwa setiap fungsi dalam API berjalan dengan benar. 

2. Integration testing

Dilakukan pada level sistem untuk memastikan bahwa API dapat berinteraksi dengan sistem lain dan melakukan operasi yang diharapkan. 

3. Functional testing

Dilakukan untuk memastikan bahwa setiap fungsi API berjalan sesuai dengan spesifikasi fungsional. 

4. Performance testing

Dilakukan untuk memastikan bahwa API dapat menangani beban yang diharapkan dan memberikan respons dalam waktu yang wajar. 

Contoh pengujian REST API meliputi pengujian GET untuk memastikan bahwa data yang diminta dapat diambil dengan benar, pengujian POST untuk memastikan bahwa data baru dapat ditambahkan dengan benar ke dalam sumber daya yang dimaksud, dan pengujian DELETE untuk memastikan bahwa sumber daya yang dipilih dapat dihapus dengan benar.

Selain itu, pengujian REST API juga dapat mencakup pengujian pengamanan dan autentikasi untuk memastikan bahwa API aman dan hanya dapat diakses oleh pihak yang berwenang. Contoh alat pengujian REST API yang populer adalah Postman, Insomnia, dan Swagger. Kalau alat untuk memonitoring API yang terkenal contohnya Netmonk Prime.

Sumber referensi: