Langsung ke konten utama

RESTful API

 


  • Pengertian 

RESTful API merupakan singkatan dari (Representational State Transfer API), yang memiliki arti sebagai sebuah teknologi dalam pengembangan aplikasi web yang mengadopsi arsitektur berbasis representasi atau representational state transfer (REST). Arsitektur REST pada dasarnya adalah seperangkat prinsip yang digunakan untuk mengembangkan aplikasi web yang memungkinkan komunikasi antara aplikasi yang berbeda melalui protokol HTTP (Hyper Text Transfer Protocol).


  • Metode

Pada RESTful API ini dapat memungkinkan pengguna untuk melakukan operasi pada sumber daya yang tersedia dengan menggunakan metode HTTP yang sebelumnya sudah ditentukan seperti :

1. GET => digunakan untuk mengambil data sumber daya 

2. POST => digunakan untuk menambahkan data sumber daya 

3. PUT => digunakan untuk memperbaharui data sumber daya yang sudah ada

4. DELETE => digunakan untuk menghapus data sumber daya

Diatas adalah metode yang tersedia pada HTTP yang sudah ditentukan sebelumnya. Sebenarnya masih banyak metode yang ada pada HTTP, tpi saya hanya menjelaskan 4 metode saja.


  • Konsep 
Konsep - konsep utama yang ada pada RESTful API adalah sebagai berikut :

1. Resource (sumber daya) => Representasi dari suatu objek atau data yang dapat diakses melalui sebuah URL (Uniform Resource Locator). Contohnya, sebuah API yang menyediakan data produk yang memiliki sumber daya berupa daftar produk, detail, produk, dan lain sebagainya.

2. HTTP Method => RESTful API menggunakan metode HTTP ( GET, POST, PUT, DELETE) untuk melakukan operasi pada sumber daya yang diidentifikasi oleh URL.

3. Representations => Representasi data dalam format yang berbeda, seperti JSON ( JavaScript Object Notation) atau XML (eXtensible Markup Language), digunakan untuk mentransfer data antara server dan client.

4. URI ( Uniform Resource Identifier) => URL atau URI digunakan untuk mengidentifikasi sumber daya dan menentukan operasi yang dilakukan pada sumber daya tersebut.

5. Stateless => RESTful API tidak menyimpan informasi status atau konteks pada server, sehingga setiap permintaan harus mencakup semua informasi yang diperlukan untuk memproses permintaan.

6. HATEOAS => ( Hypermedia as the Engine of Application State ) => Konsep ini menyatakan bahwa sumber daya RESTful API harus menyediakan tautan ke sumber daya terkait dan operasi yang dapat dilakukan pada sumber daya tersebut.

Dalam Praktiknya, konsep - konsep tersebut digunakan untuk membangun API yang mudah dipahami, scalable, dan dapat diakses dengan mudah oleh pengguna.


  • Cara Kerja 
Cara kerja dari RESTful API adalah sebagai berikut :

1. Klien mengirim permintaan HTTP ke server untuk mendapatkan informasi tertentu.

2. Server memproses permintaan tersebut dan mengembalikan respons dalam format tertentu, seperti JSON ataupun XML.

3. Klien menerima respons dan menggunakannya untuk melakukan tindakan yang diperlukan.

Untuk mengakses RESTful API, klien ini memerlukan URL API yang tepat dan metode HTTP yang sesuai seperti GET, POST, PUT, dan DELETE. URL ini mengidentifikasi sumber daya yang ingin diakses, seperti daftar pengguna atau data produk. Setelah klien mengirimkan permintaan, server akan memprosesnya dan memberikan respons yang berisi data yang diminta.

  • Prinsip - prinsip
RESTful API didasarkan pada prinsip - prinsip REST ( Representational State Transfer ), yaitu :

1. Setiap sumber daya diidentifikasi oleh sebuah URI ( Uniform Resource Identifier ).
2. Setiap sumber daya dapat memiliki beberapa representasi, seperti JSON, XML, ataupun HTML.
3. Komunikasi antara klien dan server harus stateless, yaitu tidak menyimpan informasi sesi pada server.
4. Operasi yang diperbolehkan pada sumber daya harus jelas, seperti GET, POST, PUT, atau DELETE.

Dengan menggunakan RESTful API, pengembang dapat membuat aplikasi yang mudah diintegrasikan dengan aplikasi lain dan memungkinkan berbagi data dan fungsionalitas antara aplikasi. 

  • Contoh penggunaannya 
Ada banyak contoh penggunaan RESTful API pada berbagai aplikasi, di antaranya :

1. Aplikasi E-Commerce => RESTful API pada aplikasi ini digunakan untuk mengambil informasi produk, harga, stok, dan daftar pesanan dari server ke aplikasi klien ( seperti website atau aplikasi mobile ) untuk menampilkan informasi tersebut pada halaman produk dan keranjang belanja. Contohnya Amazon, eBay, dan Shopify.

2. Aplikasi Media Sosial => RESTful API pada aplikasi ini digunakan untuk mengambil data dari server media sosial seperti pada aplikasi Twitter, Facebook, atau Instagram untuk menampilkan feed berita atau postingan teman pada aplikasi klien.

3. Aplikasi Perbankan => RESTful API pada aplikasi ini digunakan untuk mengambil data transaksi, saldo rekening, dan informasi nasabah dari server bank ke aplikasi klien, sehingga nasabah dapat melakukan transaksi perbankan melalui aplikasi klien. Contohnya PayPal, Stripe, Plaid.

4. Aplikasi Transportasi => RESTful API pada aplikasi ini digunakan untuk mengambil data jadwal penerbangan, rute, dan harga tiket dari server maskapai penerbangan ke aplikasi klien, sehingga pengguna dapat memesan tiket penerbangan melalui aplikasi klien. Contohnya Uber, Grab, Lyft.

5. Aplikasi Pencarian => RESTful API pada aplikasi ini digunakan untuk mengambil data dari mesin pencarian seperti Google, Yahoo atau Bing, sehingga pengguna dapat melakukan pencarian dan menampilkan hasil pencarian pada aplikasi klien.

Dalam setiap contoh penggunaan di atas, RESTful API memungkinkan aplikasi klien untuk mengakses dan mengambil data dari server dengan mudah dan cepat. Hal ini memudahkan pengembangan aplikasi yang terintegrasi dengan sistem yang lebih besar, serta memungkinkan pengguna untuk mengakses informasi dan fungsionalitas yang lebih luas.



Komentar

Postingan populer dari blog ini

Ansible From Zero To Hero

ANSIBLE Logo Ansible Ansible adalah sebuah perangkat lunak open source untuk otomatisasi infrastruktur teknologi informasi (IT). Ini memungkinkan Anda untuk mengelola server, cloud resources, dan perangkat lainnya dengan mudah melalui konfigurasi yang didefinisikan dalam berkas teks yang disebut "playbook". Ansible menggunakan protokol SSH dan memiliki beberapa fitur yang menyederhanakan pengelolaan infrastruktur, seperti memantau perubahan konfigurasi, mengeksekusi tugas, dan memastikan konvergensi konfigurasi. Ansible memiliki arsitektur yang mudah dipahami dan mudah digunakan, sehingga sangat berguna bagi tim IT yang ingin mengelola infrastruktur mereka dengan cepat dan efisien, Ansible ini menggunakan yml. Berikut adalah beberapa perintah Ansible :  1. menginstall 2 Telnet di 2 server Menggabungkan IP Address di server yang berbeda pada file hosts. menggabungkan ip di dalam host Ini adalah ping dalam ansible untuk melihat apakah server 1 dengan server 2 telah terkoneksi d...

Setting IP ADDRESS di DEBIAN

Logo Debian    Pertama - tama kita setting ip di dalam directory " etc/network/interfaces ", dan untuk masuk ke dalam direktori tersebut kita hanya perlu mengetikan perintah " nano /etc/network/interfaces " Setelah masuk ke dalam directory kita hanya perlu mensetting ip dan mengkonfigurasi ip dan mengganti perintah yang ada pada directory ini . Pada perintah " allow-hotplug enp0s3 dan pada iface enp0s3 inet dhcp " kita ganti perintah nya menjadi " auto enp0s3 " pada allow-hotplug enp0s3 , sedangkan pada iface enp0s3 inet dhcp kita ganti dengan perintah " iface enp0s3 inet static ". (pada gambar 1.1) setelah itu masukkan no IP dan no netmask sesuai keinginan kita. ( pada gambar 1.1 ). Disini saya menggunakan IP kelas C : Ip address (192.168.100.0) Netmask (255.255.255.0) Gambar 1.1 Setelah dilakukan nya konfigurasi IP kita bisa merestart atau menyimpan ip tersebut dengan merestartnya, dengan menggunakan dua opsi. Yang pertama mengguna...

About for JAVA

Pengertian  Java adalah sebuah bahasa pemrograman tingkat tinggi pada komputer yang dapat digunakan sebagai pengembangan perangkat lunak baik dari aplikasi desktop, aplikasi web, aplikasi mobile, game, dan sebagainya. Bahasa pemograman java ini didasarkan pada sintaks yang berasal dari C++ dan memiliki banyak fitur yang mirip dengan C++ ini, namun dengan menambahkan fitur - fiturnya java dapat membuatnya menjadi lebih aman dan portabel. Pada java, sistem kompilasinya bisa berbeda-beda dengan menggunakan bahasa pemrograman lainnya, dimana pada kode sumbernya java dikompilasi menjadi bytecode yang dapat dijalankan pada mesin virtual java (JVM). JVM ini merupakan lingkungan runtime yang menyediakan lingkungan yang aman dan terisolasi untuk menjalankan aplikasi java, dan memastikan bahwa portabilitas aplikasi di berbagai platfrom. Sejarah  Pengembang java  Java pertama kali dikembangkan oleh seseorang yang bernama James Gosling dan timnya di sun Microsystem pada awal tahun 19...