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
Post a Comment