Beranda Topics Apa yang dimaksud dengan REST API? Apa yang dimaksud dengan REST API?
Jelajahi solusi REST API IBM Berlangganan pembaruan tentang topik AI
Gambar UI API management
Apa yang dimaksud dengan REST API?

REST API (juga disebut RESTful API atau RESTful web API) adalah antarmuka pemrograman aplikasi (API) yang sesuai dengan prinsip-prinsip desain gaya arsitektur representational state transfer (REST). REST API menyediakan cara yang fleksibel dan ringan untuk mengintegrasikan aplikasi dan menghubungkan komponen dalam arsitektur layanan mikro.
 

Pertama kali didefinisikan pada tahun 2000 oleh ilmuwan komputer Dr. Roy Fielding dalam disertasi doktoralnya, REST memberikan tingkat fleksibilitas, skalabilitas, dan efisiensi yang relatif tinggi bagi para pengembang. Untuk alasan ini, REST API telah muncul sebagai metode umum untuk menghubungkan komponen dan aplikasi dalam arsitektur layanan mikro.

Membongkar mitos observabilitas

Buku elektronik ini bertujuan untuk menyanggah mitos seputar observabilitas dan menunjukkan perannya di dunia digital.

Konten terkait

Baca panduan untuk otomatisasi cerdas

Pelajari cara AI mengoptimalkan agen berbasis API
Prinsip desain REST Pada tingkat yang paling dasar, API adalah mekanisme yang memungkinkan sebuah aplikasi atau layanan untuk mengakses sumber daya di dalam aplikasi atau layanan lain. Aplikasi atau layanan yang mengakses sumber daya adalah klien, dan aplikasi atau layanan yang berisi sumber daya adalah server. Beberapa API, seperti SOAP atau XML-RPC, memberlakukan kerangka kerja yang ketat pada pengembang. Namun, pengembang dapat mengembangkan REST API menggunakan hampir semua bahasa pemrograman dan mendukung berbagai format data. Satu-satunya persyaratan adalah bahwa mereka selaras dengan enam prinsip desain REST ini—juga dikenal sebagai kendala arsitektur: Antarmuka yang seragam

Semua permintaan API untuk sumber daya yang sama harus terlihat sama, dari mana pun permintaan berasal. REST API harus memastikan bahwa bagian data yang sama, seperti nama atau alamat email pengguna, hanya dimiliki oleh satu Uniform Resource Identifier (URI (URI). Sumber daya tidak boleh terlalu besar tetapi harus berisi setiap informasi yang mungkin dibutuhkan klien.

Pemisahan klien-server

Dalam desain REST API, aplikasi klien dan server harus sepenuhnya independen satu sama lain. Satu-satunya informasi yang harus diketahui oleh aplikasi klien adalah URI sumber daya yang diminta; aplikasi klien tidak dapat berinteraksi dengan aplikasi server dengan cara lain. Demikian pula, aplikasi server tidak boleh memodifikasi aplikasi klien selain meneruskannya ke data yang diminta melalui HTTP.

Tanpa status

REST API tidak memiliki status, artinya setiap permintaan harus menyertakan semua informasi yang diperlukan untuk memprosesnya. Dengan kata lain, REST API tidak memerlukan sesi sisi server apa pun. Aplikasi server tidak diizinkan untuk menyimpan data apa pun yang terkait dengan permintaan klien.

Kemampuan cache

Jika memungkinkan, sumber daya harus dapat di-cache di sisi klien atau server. Respons server juga perlu berisi informasi tentang apakah caching diizinkan untuk sumber daya yang dikirimkan. Tujuannya adalah untuk meningkatkan kinerja di sisi klien, sambil meningkatkan skalabilitas di sisi server.

Arsitektur sistem berlapis

Dalam REST API, panggilan dan respons melewati lapisan yang berbeda. Sebagai aturan praktis, jangan berasumsi bahwa klien, dan aplikasi server terhubung langsung satu sama lain. Mungkin ada sejumlah perantara yang berbeda dalam loop komunikasi. REST API perlu dirancang agar baik klien maupun server tidak dapat mengetahui apakah ia berkomunikasi dengan aplikasi akhir atau perantara.

Kode sesuai permintaan (opsional)

REST API biasanya mengirimkan sumber daya statis, tetapi dalam kasus tertentu, respons juga dapat berisi kode yang dapat dieksekusi (seperti applet Java). Dalam kasus ini, kode hanya boleh berjalan sesuai permintaan.

Cara kerja REST API

REST API berkomunikasi melalui permintaan HTTP untuk menjalankan fungsi basis data standar seperti membuat, membaca, memperbarui, dan menghapus catatan (juga dikenal sebagai CRUD) dalam sumber daya.

Misalnya, REST API akan menggunakan permintaan GET untuk mengambil catatan. Permintaan POST membuat catatan baru. Permintaan PUT memperbarui catatan, dan permintaan DELETE menghapusnya. Semua metode HTTP dapat digunakan dalam panggilan API. REST API yang dirancang dengan baik mirip dengan situs web yang berjalan di browser web dengan fungsionalitas HTTP bawaan.

Status sumber daya pada saat tertentu, atau stempel waktu, dikenal sebagai representasi sumber daya. Informasi ini dapat dikirimkan ke klien dalam hampir semua format termasuk JavaScript Object Notation (JSON), HTML, XLT, Python, PHP, atau teks biasa. JSON populer karena dapat dibaca oleh manusia dan mesin—dan merupakan bahasa pemrograman yang agnostik.

Header dan parameter permintaan juga penting dalam pemanggilan REST API karena menyertakan informasi pengenal penting seperti metadata, otorisasi, pengenal sumber daya seragam (URI), cache, cookie, dan lainnya. Header permintaan dan header respons, bersama dengan kode status HTTP konvensional, digunakan dalam REST API yang dirancang dengan baik.

 

Praktik terbaik REST API

Meskipun fleksibilitas adalah keuntungan besar dari desain REST API, fleksibilitas yang sama juga memudahkan untuk mendesain API yang rusak atau berkinerja buruk. Untuk alasan ini, pengembang profesional berbagi praktik terbaik dalam spesifikasi REST API.

Spesifikasi OpenAPI (OAS) menetapkan antarmuka untuk mendeskripsikan API sedemikian rupa sehingga memungkinkan pengembang atau aplikasi mana pun menemukannya dan memahami sepenuhnya parameter dan kemampuannya. Informasi ini mencakup titik akhir yang tersedia, operasi yang diizinkan pada setiap titik akhir, parameter operasi, metode autentikasi, dan banyak lagi. Versi terbaru, OAS3, dilengkapi dengan alat praktis, seperti OpenAPI Generator, untuk menghasilkan klien API dan stub server dalam berbagai bahasa pemrograman.

Mengamankan REST API juga dimulai dengan praktik terbaik industri. Gunakan algoritma hashing untuk keamanan kata sandi dan HTTPS untuk transmisi data yang aman. Kerangka kerja otorisasi seperti OAuth 2.0 dapat membantu membatasi hak istimewa aplikasi pihak ketiga.

Menggunakan stempel waktu di header HTTP, API juga dapat menolak permintaan apa pun yang tiba setelah periode waktu tertentu. Validasi parameter dan Token Web JSON adalah cara lain untuk memastikan bahwa hanya klien resmi yang dapat mengakses API.

Solusi terkait IBM API Connect

Kelola siklus hidup API Anda di berbagai cloud, tingkatkan sosialisasi dan optimalkan upaya monetisasi di seluruh ekosistem bisnis Anda dengan manajemen API yang aman dari IBM API Connect.

Solusi integrasi

Hubungkan, otomatisasi, dan buka potensi bisnis dengan solusi Integrasi

Solusi iPaaS

Menghubungkan aplikasi, data, proses bisnis, dan layanan, baik yang di-hosting secara on premises, di cloud pribadi, atau dalam lingkungan cloud publik.

Sumber daya Apa itu API?

Pelajari bagaimana antarmuka pemrograman aplikasi, atau API, menyederhanakan pengembangan dan inovasi perangkat lunak dengan memungkinkan aplikasi bertukar data dan fungsionalitas dengan mudah dan aman.

Apa yang dimaksud dengan manajemen API?

Pelajari tentang manajemen API dan bagaimana platform manajemen API terpadu dapat membantu menskalakan organisasi Anda.

Gartner Critical Capabilities 2023

Baca laporan Gartner 2023 Critical Capabilities for Full Lifecycle API Management untuk mengetahui lebih lanjut mengapa Gartner mengakui IBM sebagai Pemimpin.

Ambil langkah selanjutnya

Gunakan IBM API Connect untuk mengamankan dan mengelola API perusahaan di sepanjang siklus prosesnya. Solusi ini membantu Anda dan pelanggan Anda secara konsisten membuat, mengelola, mengamankan, mensosialisasikan, dan memonetisasi API perusahaan, dan juga tersedia sebagai platform manajemen API yang dapat diskalakan di IBM Marketplace dan AWS.

Jelajahi API Connect Pesan demo langsung