Hallo teman-teman π
Selamat datang di artikel pertama di series belajar Laravel API by kompak-akademi. Pada series kali ini kita akan belajar tentang Laravel API mulai dari apa itu Laravel API, penggunaan & hal-hal seru lainnya tentang Laravel API.
Mari kita mulai π
Apa Itu API?
Sebelum membahas Laravel, kita perlu pahami dulu apa itu API di dalam Laravel.
API (Application Programming Interface) adalah jembatan yang bisa menghubungkan satu aplikasi dengan aplikasi lain agar bisa saling bertukar data.
Contoh analogi sederhana nya seperti ini
Bayangkan kamu punya aplikasi toko online. Di sana ada data produk, stok, dan transaksi. Sekarang kamu ingin membuat aplikasi mobile-nya juga. Nah, daripada aplikasi mobile langsung membaca database toko (yang berisiko), lebih baik aplikasi mobile kamu mengakses datanya lewat API yang disediakan oleh backend Laravel.
API akan menerima request (permintaan), memprosesnya di server, lalu mengirimkan response (balasan) dalam format tertentuβbiasanya menggunakan format JSON.
Contoh sederhana dari format JSON itu seperti ini :
{
"id": 1,
"nama": "Laptop ASUS ROG",
"harga": 25000000
}
Aplikasi frontend, mobile, atau pihak ketiga akan membaca data seperti contoh di atas.
Jadi, singkatnya API adalah jembatan komunikasi antar sistem, tidak peduli apa bahasanyaβbisa Laravel, Flutter, React, atau bahkan aplikasi IoT
.
Jenis-jenis API
Secara umum, ada tiga jenis API yang sering digunakan di dalam development, yaitu :
- Private API β hanya digunakan secara internal (misalnya untuk antar modul dalam satu perusahaan).
- Public API β bisa diakses siapa pun, seperti API dari OpenWeather, Google Maps, atau GitHub.
- Partner API β hanya bisa digunakan oleh pihak yang sudah bekerja sama resmi.
Dalam seri kali ini, kita akan membuat Private API, yaitu API untuk kebutuhan aplikasi kita sendiri yang nanti akan di amankan oleh Laravel Sanctum.
Cara Kerja API
Sederhananya, alurnya dari API itu seperti ini :
- Client (misalnya aplikasi React atau Postman) mengirim permintaan ke server melalui URL API, seperti URL di bawah ini :
GET https://localhost:8000/api/products
- Server Laravel akan menerima request tersebut, memproses data (biasanya dari database), lalu mengembalikan hasilnya ke client dalam bentuk response JSON.
- Client menampilkan hasil itu ke sisi pengguna.
Menyiapkan Lingkungan Laravel
Sekarang kita mulai praktiknya. Untuk mengikuti series ini, kamu butuh beberapa hal berikut ini :
- PHP versi 8.1+
- Composer
- Laravel Installer (opsional)
- MySQL / MariaDB
- Postman (untuk uji API)
- VS Code (untuk menulis kode)
Requirement di atas adalah contoh saja, kalian bisa menyesuaikan dengan aplikasi atau software yang biasa kalian pakai
Cek versi PHP dan Composer kamu lewat terminal :
php -v
composer -V
Kalau semuanya sudah siap, maka kita bisa untuk lanjut.
Membuat Project Laravel Baru
Setelah semua persiapan sudah sesuai, sekarang kita akan membuat project laravel baru dengan nama laravel-api-belajar
.
Untuk membuat project silahkan ikuti step by step di bawah ini, jangan sampai terlewat ya
- Ketik di terminal :
composer create-project laravel/laravel laravel-api-belajar
- Tunggu prosesnya sampai selesai, lalu masuk ke dalam folder aplikasi laravel yang sudah kita buat tadi
cd laravel-api-belajar
- Jalankan server yang sudah di sediakan oleh laravel dengan cara berikut ini :
php artisan serve
- Jika berhasil sekarang teman-teman silahkan buka browser dan akses route URL di bawah ini :
http://127.0.0.1:8000
Maka kalian akan melihat halaman default Laravel. Artinya, project-mu sudah siap kamu gunakan untuk belajar belajar API!
Mengatur File .env
Laravel menggunakan file .env
untuk menyimpan konfigurasi penting seperti database, mail, dan key aplikasi.
Untuk konfigurasi nya, silahkan buka file bernama .env
lalu ubah bagian di bawah ini :
APP_NAME=LaravelAPI
APP_ENV=local
APP_KEY=base64:...
APP_DEBUG=true
APP_URL=http://127.0.0.1:8000
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_api
DB_USERNAME=root
DB_PASSWORD=
Pastikan nama databasenya sesuai dengan yang di phpMyAdmin
dan di file .env
kamu yak
Membuat Route API Pertama
By default laravel itu punya dua file untuk route, yaitu :
routes/web.php
β untuk halaman web biasa (pakai view).routes/api.php
β untuk route API. Namun karena kita akan fokus belajar laravel API maka kita akan menggunakan fileapi.php
.
Buka file routes/api.php
, lalu tambahkan kode berikut :
use Illuminate\Support\Facades\Route;
Route::get('/hello', function () {
return response()->json([
'message' => 'Selamat datang di API Laravel pertamamu!'
]);
});
Setelah itu buka browser kamu dan ketikkan route URL berikut ini :
http://127.0.0.1:8000/api/hello
Dan kalau berhasil itu akan menampilkan data seperti di bawah ini :
{
"message": "Selamat datang di API Laravel pertamamu!"
}
Kalau sudah muncul, selamat kamu baru saja membuat API laravel pertama mu namun jika belum silahkan di sesuaikan terlebih dahulu dan di sesuaikan dengan step by step di atas ya.
Semangat π₯
Memahami Struktur Project Laravel API
Setelah project berjalan, mari pahami struktur pentingnya :
app/Http/Controllers
β tempat kita membuat untuk logika API.routes/api.php
β tempat kita untuk mendefinisikan endpoint dari API yang akan kita buat.app/Models
β tempat kita untuk menyimpan model yang mewakili tabel dari database.database/migrations
β tempat kita untuk mendefinisikan struktur tabel.
Di hari-hari berikutnya, kita akan menggunakan semua folder ini untuk membuat CRUD API yang lengkap.
Menambahkan Controller Sederhana
Agar kode kita rapi, kita tidak menulis semua logika langsung di file api.php
. Kita akan pindahkan ke file Controller.
Untuk membuat controller baru kalian cukup ketikkan command di bawah ini :
php artisan make:controller Api/WelcomeController
Pada bagian Api/WelcomeController. Artinya itu untuk
Api
itu mewakili nama folder nya & untukWelcomeController
itu mewakili nama controller yang akan kita buat. Kalian bebas ber-eksperimen menggunakan nama folder atau file lain, namun best practices nya tetap menggunakan folderApi
terlebih dahulu
Buka file app/Http/Controllers/Api/WelcomeController.php
, ubah isinya dengan kode di bawah ini :
<?php
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class WelcomeController extends Controller
{
public function index()
{
return response()->json([
'message' => 'Halo, ini respons dari controller API!'
]);
}
}
Sekarang ubah route yang ada di dalam file api.php
menjadi seperti kode di bawah ini :
use App\Http\Controllers\Api\WelcomeController;
Route::get('/welcome', [WelcomeController::class, 'index']);
Setelah itu coba kalian akses route URL nya dengan alamat di bawah ini :
http://127.0.0.1:8000/api/welcome
Kalau hasilnya seperti di bawah ini maka kode kalian sudah berhasil :
{
"message": "Halo, ini respons dari controller API!"
}
Selamat! kode kamu lebih bersih dan tentunya lebih professional
Menambahkan Parameter ke API
API di dalam framework laravel juga bisa menerima parameter dari URL.
Contoh : /api/halo/{nama}
Tambahkan route baru di dalam file api.php
:
Route::get('/halo/{nama}', function ($nama) {
return response()->json([
'pesan' => "Halo $nama, selamat belajar Laravel API!"
]);
});
Lalu coba sekarang akses di browser :
http://127.0.0.1:8000/api/halo/Syafiq
Kalau hasilnya seperti di bawah ini maka kamu sudah berhasil mendapatkan parameter dengan menggunakan laravel API
{
"pesan": "Halo Syafiq, selamat belajar Laravel API!"
}
Menggunakan Postman untuk Uji Coba
Postman adalah sebuah alat atau software untuk kita bisa mengirim request API dengan berbagai metode seperti GET
, POST
, PUT
, DELETE
.
Langkah cepat untuk menggunakan postman adalah sebagai berikut :
- Buka Postman.
- Pilih metode GET.
- Masukkan URL: http://127.0.0.1:8000/api/welcome
- Klik Send. Kamu akan melihat JSON response dari Laravel.
Nantinya, Postman akan jadi senjata utama untuk menguji API saat membuat fitur CRUD dan autentikasi.
Sebelumnya silahkan install terlebih dahulu software postman pada di link berikut ini Postman Download.
Menambahkan Response Status Code
Selain untuk mengirimkan data, API juga sebaiknya mengirim status code HTTP agar client tahu apakah permintaan berhasil atau gagal.
Sekarang perbaiki kode di dalam controller kamu dengan kode di bawah ini :
public function index()
{
return response()->json([
'success' => true,
'message' => 'Data berhasil diambil'
], 200); // 200 artinya OK
}
Penjelasan singkat terkait kode status yang umum digunakan di dalam proses development API :
- 200 β OK
- 201 β Created
- 400 β Bad Request
- 401 β Unauthorized
- 404 β Not Found
- 500 β Server Error
Mengirim kode status yang tepat sangat membantu dalam debugging dan pengembangan aplikasi besar.
Kesalahan Umum yang Sering Terjadi
Beberapa kesalahan umum yang biasa terjadi bagi orang-orang yang baru belajar API di laravel, yaitu :
- Lupa jalankan server Laravel
(php artisan serve)
. - Salah menulis URL
(/api/... harus lengkap)
- Tidak membuat database sesuai di
.env.
- Mengedit file di
web.php
padahal seharusnyaapi.php
. Biasakan membaca error di terminal atau browser karena Laravel sudah memberikan pesan yang cukup jelas.
Kesimpulan
Jadi kesimpulan hari ini adalah :
- Apa itu API dan cara kerjanya.
- Jenis-jenis API.
- Instalasi Laravel dan konfigurasi .env.
- Membuat endpoint API pertama.
- Menggunakan Controller.
- Uji API dengan Postman.
- Menambahkan status code dan parameter dinamis.
Dengan ini, fondasi kamu sudah kuat untuk lanjut ke pembelajaran selanjutnya, di mana kita akan membahas pembuatan Route, Controller, dan Response JSON yang lebih kompleks dan terstruktur tentunya.
Kalau ada pertanyaan silahkan bisa join ke komunitas kita baik di discord ataupun di telegram group :
Bicara itu murah. Tunjukkan kodenya. β Linus Torvalds (Pencipta Linux & Git)