Prinsip Prinsip Ini Harus Ada Pada RestFul API



Dalam membangun sistem backend kita mengetahui bahwa segala proses data yang diambil dari API, dari query database, atau bahkan membuat middleware itu harus ditangani di dalam sistem backend

Dan di dalamnya kita juga terkadang membutuhkan beberapa method seperti GET untuk mengambil data, POST untuk mengirimkan data, PUT untuk  merubah data, dan DELETE untuk menghapus data

Ada beberapa kaidah atau konsep yang harus sesuai dengan pembuatan arsitektur backend ini, yang biasanya kita sebut dengan Restful API

Apa Itu Restful API

RESTful API biasa disebut REST API yang memiliki kepanjangan Representational State Transfer Application Programing Interface. Disebut RESTful apabila sebuah aplikasi memiliki sifat layaknya REST yaitu bisa merepresentasikan data yang didapat dari API tertentu, bisa berupa public atau server

Menurut website Redhat, Restful API (atau bisa juga disebut REST API) adalah antar muka aplikasi untuk mengatur batas dan mengijinkan interaksi API dari Web Service

Dalam membuat RESTful API maka kita harus memenuhi Architectural Constraint

Apa Itu Architectural Contstraint?

Architectural Constraint adalah prinsip dasar yang harus dipenuhi oleh RESTful API yang kita buat. Sebenarnya bisa saja sebuah API tidak memenuhi standard Architectural Constraint, aplikasi tetap berjalan, namun agar bisa bekerja lebih optimal maka prinsip AC harus dipenuhi

  • Client-server

Prinsip dimana server dan client tidak memiliki ketergantungan dependency dan harus bisa bekerja sama secara masing masing. Client hanya cukup mengetahu URI yang server kirimkan

  • Stateless

Artinya segala request bisa diterima oleh server dari client manapun, berapapun jumlahnya. Tanpa adanya ketergantungan request dari request lain

  • Cacheable

 Setiap client memiliki local storagenya sendiri atau cookies sebagai penyimpanan sementara dari setiap yang ia load di browser, seumpama data yang ia simpan masih merupakan data yang sama

  • Uniform Interface

Client tidak perlu mengerti betapa ribetnya sistem server, namun client hanya cukup menerima data yang sudah dirender, diproses oleh server dan diusahakan menggunakan bahasa pemograman yang sama antar server dan client. Semua supaya seragam (uniform)

  • Layered System

Jika kita sudah menerapkan Uniform Interface, maka seharusnya kita sudah menjalankan Layered System dimana proses server dan client berjalan masing masing, dan berbeda

  • Code on Demand

Terkadang server mengirimkan data berupa XML dan JSON, dan kita bebas menentukan apapun di dalamnya, bisa berupa function atau baris kode lainnya. Sehingga Code on Demand merupakan optional saja dan tak wajib 

Kesimpulan

Menerapkan AC diatas tidak berarti RESTful API kita tak work atau error. Namun ini merupakan konsep bahwa REST API yang kita buat benar benar Restful.

Sumber: restfulapi

Comments

Video Baru!