API (Application Programming Interface) adalah sebuah antarmuka yang memungkinkan satu aplikasi untuk berkomunikasi dengan aplikasi lain, tanpa harus mengetahui bagaimana aplikasi tersebut diimplementasikan. API bekerja seperti jembatan yang menghubungkan dua sistem berbeda, sehingga mereka dapat saling bertukar data atau menjalankan fungsi tertentu. Dalam konteks pengembangan perangkat lunak, API memberikan cara standar bagi developer untuk mengakses fitur atau layanan dari sistem lain, seperti database, sistem operasi, atau layanan web.
Fungsi utama API dalam pengembangan adalah menyederhanakan proses integrasi antar sistem dan mempercepat pembangunan aplikasi. Dengan menggunakan API, developer tidak perlu membangun fitur dari awal, cukup menggunakan layanan yang sudah tersedia melalui API, misalnya untuk autentikasi pengguna, pembayaran online, atau pengambilan data cuaca. Selain itu, API juga membantu menjaga keamanan dan konsistensi karena hanya menyediakan akses terhadap fungsi tertentu tanpa membuka seluruh sistem secara langsung.
Agar lebih mengerti mengenai API, lihatlah ilustrasi berikut:
Berdasarkan ilustrasi yang diberikan, cara kerja API dapat diibaratkan seperti seorang pelayan di restoran yang menjadi perantara antara pelanggan dan dapur. Pertama, client (pelanggan) mengirimkan permintaan, misalnya "pesan nasi goreng", kepada API (pelayan). API menerima permintaan tersebut dan memvalidasi datanya sebelum meneruskannya ke server (dapur) yang bertugas memproses permintaan tersebut. Setelah server selesai memproses—dalam hal ini, memasak nasi goreng—server mengirimkan respons kembali ke API. Terakhir, API menerima hasil dari server dan mengirimkan respons akhir tersebut ke client, sehingga client mendapatkan hasil sesuai permintaannya. Proses ini menunjukkan bagaimana API memungkinkan komunikasi yang terstruktur antara pengguna dan sistem backend tanpa harus saling mengetahui cara kerja internal masing-masing pihak.
RESTful API adalah jenis API yang mengikuti prinsip REST (Representational State Transfer), yaitu sebuah arsitektur yang dirancang untuk memanfaatkan protokol HTTP secara sederhana dan efisien. RESTful API memungkinkan pertukaran data antara client dan server menggunakan metode standar seperti GET (untuk mengambil data), POST (untuk mengirim data), PUT (untuk memperbarui data), dan DELETE (untuk menghapus data). Ciri khas dari RESTful API adalah penggunaan URL untuk mewakili sumber daya (resources), dan komunikasi yang bersifat stateless, artinya setiap permintaan dari client harus memuat semua informasi yang dibutuhkan tanpa mengandalkan penyimpanan status di server. Dengan pendekatan ini, RESTful API menjadi pilihan populer dalam pengembangan web karena ringan, mudah dipahami, dan fleksibel untuk berbagai kebutuhan integrasi.
Pada tutorial kali ini, kita akan membuat project laravel baru sehingga memudahkan pemahaman bagaimana cara menginstal API di framework Laravel. Pertama, Instal project Laravel terlebih dahulu menggunakan Laravel Installer atau Composer
Setelah itu, buatlah migrasi dengan menggunakan kode perintah berikut
Kemudian, isi dengan kode berikut:
Setelah membuat migrasi, kita jalankan kode berikut agar masuk ke database:
Selanjutnya yaitu membuat model dari migrasi yang telah dibuat. Gunakan perintah berikut untuk membuat model:
Kemudian, isi model yang telah dibuat dengan kode berikut:
Buatlah sebuah API Resource dengan cara memasukkan perintah berikut di terminal:
Setelah itu, isi routes/api.php dengan kode berikut:
Dari api resource yang telah dibuat, diperlukan Controller untuk mengatur logika. Buatlah ProductController dengan menggunakan kode berikut:
Kemudian, masukkan kode berikut kedalam controller yang telah dibuat:
Setelah itu, kita perlu membuat API Resource dari product. Caranya dengan menggunakan kode berikut:
Kemudian, isi dengan kode dibawah dalam file ProductResource:
Untuk menggunakan resource yang telah dibuat di controller, ubah function index() dan show() di ProductController seperti berikut:
Selanjutnya, kita akan membuat validasi dan error handling. Pertama, kita akan membuat Form Request Validation. Gunakan kode berikut di terminal:
Lalu, gunakan kode berikut di StoreProductResource:
Lalu, tambahkan kode berikut di app/Exceptions/Handler.php untuk menangani Exception:
Instal aplikasi Postman Disini
Setelah diinstal aplikasinya, hidupkan web server laravel dengan perintah berikut:
Tampilan saat pertama kali digunakan adalah sebagai berikut:
Pertama, kita akan mengakses database menggunakan informasi berikut:
URL: http://127.0.0.1:8000/api/products
Method: GET
Hasilnya adalah sebagai berikut:
Kedua, kita akan menginput data kedalam database. Gunakan informasi berikut:
URL: http://127.0.0.1:8000/api/products
Method: POST
Gunakan contoh data berikut:
{
"name": "IPhone 15",
"description": "RAM 8/128",
"price": 10000000.00,
"stock": 50
}
Hasilnya akan menjadi seperti berikut:
Masukkan tambahan kode kedalam fungsi store() sebagai validasi sebagai berikut:
Jika data tidak sesuai, akan seperti berikut:
Ketiga, kita akan mengambil data berdasarkan id. Gunakan informasi berikut:
URL: http://127.0.0.1:8000/api/products/1
Method: GET
Hasilnya adalah sebagai berikut:
Tambahkan kode berikut untuk memvalidasi jika id tidak ada di database
Hasilnya adalah sebagai berikut:
Keempat, kita akan mengupdate data berdasarkan id. Gunakan informasi berikut:
URL: http://127.0.0.1:8000/api/products/1
Method: PUT
Contoh datanya adalah sebagai berikut
{
"name": "Android",
"description": "RAM BANYAK",
"price": 10000000.00,
"stock": 50
}
Hasilnya adalah sebagai berikut:
Terakhir, kita akan menghapus data berdasarkan id. Gunakan informasi berikut:
URL: http://127.0.0.1:8000/api/products/1
Method: DELETE
Hasilnya adalah sebagai berikut:
Link Github: Disini