Memahami API, REST API, dan RESTful API

Deby Silvia Agnes
wripolinema
Published in
4 min readSep 17, 2020
Photo by Marvin Meyer on Unsplash

Sering mendengar istilah API dan REST API kan?
Atau jika baru mendengar istilah itu, sebaiknya kalian kenalan dulu dengan mereka. Karena nanti kalian bakal tau juga soal si RESTful API. Check it out!

https://nurulfikri.web.id/wp-content/uploads/2019/08/Memahami-apa-itu-RESTful-API-300x196.png

Mengapa ada API?

Sebelum kita menuju pembahasan lebih lanjut, sebaiknya kita tahu dulu apa alasan dibuat sebuah API.
Semakin banyaknya penggunaan aplikasi yang tersedia pada berbagai platform, membuat tiap — tiap platform memerlukan adanya integrasi data. Dimana nantinya data pada web dengan data pada aplikasi mobile harus sama agar tidak terjadi duplikasi data pada dua platform yang berbeda.

Tujuan Pembuatan API

Berdasarkan alasan diatas, maka dibuatlah sebuah API yang bertujuan untuk mempermudah proses pertukaran data antar aplikasi yang terintegrasi serta untuk mempercepat proses development dengan menyediakan function secara terpisah sehingga developer tidak perlu membuat fitur yang serupa.

Apa itu REST API?

Jika API digunakan untuk proses pertukaran data antar aplikasi yang terintegrasi, maka

REST API adalah salah satu teknologi API yang sering kita gunakan ketika akan mengembangkan sebuah Web APIs.

REST API sendiri bersifat stateless. Dimana setiap kali request harus menyertakan semua data dan parameter dengan lengkap ketika mengakses suatu endpoint.
Pada arsitektur REST, REST server menyediakan resources (sumber daya/data) dan REST client mengakses dan menampilkan resource tersebut untuk penggunaan selanjutnya. Setiap resource diidentifikasi oleh URIs (Universal Resource Identifiers) atau global ID. Resource tersebut direpresentasikan dalam bentuk format teks, JSON atau XML. Pada umumnya formatnya menggunakan JSON dan XML.

Metode HTTP dalam arsitektur REST

REST memiliki standarisasi dalam pemakaian, yaitu URL dan HTTP method. HTTP method digunakan untuk mengetahui kegunaan dari URL yang diakses, sehingga mempermudah dalam penulisan URL.
Berikut adalah jenis HTTP method yang sering digunakan :
1. GET, digunakan untuk membaca sebuah record atau daftar record
2. POST, digunakan untuk menambah sebuah record
3. PUT, digunakan untuk mengubah semua field dalam sebuah record
4. PATCH, digunakan untuk mengubah beberapa field dalam sebuah record
5. DELETE, digunakan untuk menghapus sebuah sebuah record

Web Service vs API?

Web service adalah standar yang digunakan untuk melakukan pertukaran data antar aplikasi atau sistem melalui jaringan. Contoh implementasi dari web service antara lain adalah SOAP dan REST.

Sedangkan API adalah penghubung antara dua aplikasi yang berbeda untuk saling berkomunikasi.

Pada Web service style yang digunakan hanya tiga yaitu SOAP, REST, atau XML-RPC untuk berkomunikasi sedangkan untuk API dapat menggunakan style apapun.

Sehingga dapat disimpulkan bahwa web service merupakan bagian dari API.

Jadi, apa itu RESTful API?

Web service yang berbasis arsitektur REST kemudian dikenal sebagai RESTful web services. Layanan web ini menggunakan metode HTTP untuk menerapkan konsep arsitektur REST.

Cara Kerja RESTful API

Sebuah client mengirimkan sebuah data atau request melalui HTTP Request dan kemudian server merespon melalui HTTP Response.

Komponen dari HTTP Request :

  • Verb, HTTP method yang digunakan misalnya GET, POST, DELETE, PUT dll.
  • Uniform Resource Identifier (URI) untuk mengidentifikasikan lokasi resource pada server.
  • HTTP Version, menunjukkan versi dari HTTP yang digunakan, contoh HTTP v1.1.
  • Request Header, berisi metadata untuk HTTP Request. Contoh, type client/browser, format yang didukung oleh client, format dari body pesan, seting cache dll.
  • Request Body, konten dari data.

Komponen dari HTTP Response :

  • Status/Response Code, mengindikasikan status server terhadap resource yang direquest. misal : 404, artinya resource tidak ditemukan dan 200 response OK.
  • HTTP Version, menunjukkan versi dari HTTP yang digunakan, contoh HTTP v1.1.
  • Response Header, berisi metadata untuk HTTP Response. Contoh, type server, panjang content, tipe content, waktu response, dll
  • Response Body, konten dari data yang diberikan.

Referensi :

--

--

Deby Silvia Agnes
wripolinema

Mengamalkan ilmu dapat menjadikan ilmu dan orang yang berilmu menjadi bermanfaat..