REST API

Tia Agustiani
4 min readNov 19, 2022

--

sumber : hanamon.kr

Dalam web service tentu kita akan mengenal tentang REST API. Apakah sebenarnya REST API ini, berikut ini paparannya.

API

Yang pertama adalah API atau Application Program Interface merupakan suatu kumpulan subroutine, protokol komunikasi, tools, dan fungsi untuk membuat sebuah perangkat lunak.

API ini dapat dipanggil atau dijalankan oleh program lain sehingga dikenal juga dengan interface (antarmuka) yang menjadi perantara antara sistem aplikasi yang berbeda. API tidak hanya dalam bentuk Web Service, bisa saja berupa SDK (Software Development Kit) ataupun lainnya.

Penerapan API

Berikut contoh penerapan API.

1. Bahasa pemrograman : Penerapannya dalam membuat koneksi ke database MySQL menggunakan dua API yang berbeda di bahasa pemrograman PHP. Selain itu, API juga dapat mengakses elemen pada DOM di bahasa pemograman Javascript.

2. Library and framework

3. Sistem Operasi : Penerapannya dapat dalam bentuk base service, graphic device interface, dan user interface.

4. Web API atau web service : Penerapannya dibuat dalam bentuk REST (Representational State Transfer) dan SOAP (Simple Object Access Protocol). Selain itu, dapat diterapkan dalam sebuah sistem perangkat lunak yang dibuat untuk mendukung interaksi antara dua aplikasi yang berbeda melalui jaringan (umumnya menggunakan jaringan HTTP Protocol). Web service dapat membuat aplikasi yang memiliki perbedaan bahasa, teknologi, dan sistem operasi sehingga web service dapat dijadikan bahan untuk membuat REST API.

REST API

Lalu bagaimana dengan REST API? REST API dapat dikatakan sebagai salah satu bentuk gaya arsitektural perangkat lunak yang didalamnya mendefinisikan beberapa aturan untuk membuat web service.

REST API berisi aturan atau batasan yang dapat membatasi programmer untuk mengakses atau melakukan tindakan-tindakan tertentu pada sebuah database. Jika API adalah penghubung, maka REST yang membuat aturan sesuai keinginan programmer dalam merancang web service.

Ada beberapa sifat yang harus kita ketahui dari REST API ini.

Berikut beberapa sifat pada REST API:

1. 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.

2. 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.

3. Cacheable
Agar dapat merespon permintaan dengan cepat, sebaiknya REST API menerapkan prinsip cache. Sehingga setiap permintaan tidak melulu mengambil dari database.

4. 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

Ada beberapa konsep penting yang harus kita kenal sebelum membangun arsitektur REST API, Apa sajakah konsep-konsep itu?

Ketika membangun REST API kita harus memperhatikan empat konsep berikut:

  1. 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 .
  2. 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).
  3. 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, nilai-nilai status code yang sering digunakan yaitu 200 (OK) — Permintaan client berhasil dijalankan oleh server; 400 (Bad Request) — Permintaan client tidak dapat dijalankan karena kegagalan dalam proses validasi input dari client; dan 500 (Internal Server Error) — Permintaan client tidak dapat dijalankan karena server mengalami kesalahan.
  4. 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.

Apa bedanya REST API dengan RESTful API?

Pada HTTP Method dikenal beberapa istilah yang dikenal sebagai ENDPOINTS, berikut penjelasan dari empat macam ENDPOINTS.

1. GET : Metode ini digunakan untuk mengambil data. Contoh : GET localhost/co-app/pengajar/ atau GET localhost/co-app/pengajar/12

2. POST : Metode ini digunakan untuk mengambil data. Contoh : POST localhost/ci-app/pengajar

3. PUT : Metode ini digunakan untuk mengubah data tetapi metode ini tidak dapat digunakan di browser. Contoh : PUT localhost/ci-app/pengajar/33

4. DELETE : Metode ini digunakan untuk menghapus data tetapi metode ini tidak dapat digunakan di browser. Contoh : DELETE localhost/ci-app/pengajar/44

RESTful API bersifat Stateless, yang artinya tidak adanya state dalam sebuah aplikasi. Sifat stateless membuat setiap request HTTP dilakukan secara terisolasi, server tidak menyimpan state apapun mengenai sesi dari client, setiap request dari client harus berisi semua informasi yang dibutuhkan server termasuk informasi otentikasi, dan stateless merupakan salah satu syarat untuk membuat RESTful API

Jadi, dapat disimpulkan bahwa dalam membuat sebuah RESTful API terdapat beberapa syarat, yaitu sebagai berikut.

  • Menggunakan HTTP method yang benar (GET, PUT, POST, DELETE)
  • ENDPOINTS yang digunakan berupa kata benda
  • Bersifat stateless
  • Menggunakan REST secara benar

.

.

.

Sumber Referensi :

Setiawan, R. (2021, June 22). Apa itu REST Web Service: Tutorial Back-End Developer — Dicoding Blog. Dicoding Blog. https://www.dicoding.com/blog/apa-itu-rest-web-service/

Tristuti Aulia. (2021, May 29). Bahas Tuntas REST API dan RESTful API. KMTek. https://www.kmtech.id/post/bahas-tuntas-rest-api-dan-restful-api

--

--