REST API Sederhana Menggunakan Laravel
1. Latar Belakang
Perkembangan teknologi informasi yang semakin pesat mendorong kebutuhan akan sistem yang mampu saling terintegrasi dan bertukar data secara cepat serta efisien. Dalam pengembangan aplikasi modern, tidak jarang sebuah sistem harus terhubung dengan aplikasi lain, seperti aplikasi mobile, website frontend, maupun layanan pihak ketiga. Oleh karena itu, dibutuhkan suatu mekanisme komunikasi yang terstandarisasi, ringan, dan mudah digunakan, salah satunya melalui REST API. REST API memungkinkan pertukaran data menggunakan protokol HTTP dengan format yang umum seperti JSON sehingga dapat diakses oleh berbagai platform tanpa bergantung pada satu jenis teknologi tertentu.
Di sisi lain, proses pembangunan API memerlukan framework yang mampu menyediakan struktur yang jelas serta fitur yang lengkap agar pengembangan menjadi lebih cepat dan terorganisir. Laravel hadir sebagai salah satu framework PHP yang banyak digunakan karena kemudahan sintaks, dokumentasi yang lengkap, serta dukungan fitur seperti routing, migration, dan ORM. Dengan memanfaatkan Laravel, pembuatan REST API sederhana dapat dilakukan secara sistematis melalui pengelolaan model, controller, dan routing yang terintegrasi. Oleh karena itu, pembahasan mengenai pembuatan REST API sederhana menggunakan Laravel menjadi penting untuk dipahami sebagai dasar dalam pengembangan aplikasi berbasis layanan web.

2. Alat dan Bahan
a. Perangkat Lunak
- Web browser (contoh: Google Chrome atau Mozilla Firefox)
- Code editor / text editor (contoh: Visual Studio Code)
- Terminal / Command Prompt
- Web server
- Composer
- PHP minimal versi 8.x
b. Perangkat Keras
- Laptop / Komputer.
3. Pembahasan
3.1 Apa itu Laravel dan Rest API?
Laravel adalah framework aplikasi web berbasis PHP yang menggunakan arsitektur Model View Controller atau MVC untuk memisahkan logika program, pengelolaan data, dan tampilan. Framework ini dikembangkan oleh Taylor Otwell dan dirancang untuk mempermudah proses pengembangan aplikasi dengan sintaks yang jelas, struktur proyek yang terorganisir, serta fitur bawaan seperti routing, middleware, validasi, sistem autentikasi, dan Eloquent ORM untuk pengelolaan database. Dengan Laravel, pengembang tidak perlu membangun sistem dari nol karena sebagian besar kebutuhan dasar aplikasi web sudah tersedia dan terintegrasi dengan baik, sehingga pengembangan menjadi lebih cepat, aman, dan terstruktur.
REST API adalah konsep arsitektur layanan web yang memungkinkan dua sistem berbeda berkomunikasi melalui protokol HTTP dengan pertukaran data umumnya dalam format JSON. REST (Representational State Transfer) bersifat stateless, artinya setiap permintaan dari klien ke server berdiri sendiri tanpa menyimpan kondisi sebelumnya. REST API menggunakan metode HTTP seperti GET untuk mengambil data, POST untuk menambahkan data, PUT atau PATCH untuk memperbarui data, serta DELETE untuk menghapus data. Laravel sangat cocok digunakan untuk membangun REST API karena menyediakan fitur routing berbasis resource dan kemudahan dalam menghasilkan respons JSON, sehingga aplikasi dapat diintegrasikan dengan berbagai platform seperti aplikasi mobile, frontend berbasis JavaScript, maupun sistem lain secara efisien dan terstandarisasi.
3.2 Langkah - Langkah Membuat Rest API sederhana pada Laravel
Berikut ini langkah - langkah membuat REST API sederhana menggunakan Laravel:
1. Membuat projek laravel
composer create-project laravel/laravel api-siswa
Masuk ke folder projek:
cd api-siswa
Jalankan server:
php artisan serve
Akses di browser:
http://127.0.0.1:8000/
Kalau ini tidak jalan, berarti ada yang salah di instalasi PHP atau Composer. Dan itu bukan salah Laravel.
2. Mengatur database
Buat database baru di phpMyAdmin: db_api_siswa
Kita atur file .env, ubah nama db_connection dan db_database nya.
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=db_api_siswa
DB_USERNAME=root
DB_PASSWORD=
3. Membuat model dan migration
Kita bisa membuat model dan migration secara bersamaan menggunakan perintah berikut:
php artisan make:model Siswa -m
Edit file migration di folder database/migrations:
public function up()Jalankan migration:
{
Schema::create('siswa', function (Blueprint $table) {
$table->id();
$table->string('nama');
$table->string('kelas');
$table->timestamps();
});
}
php artisan migrate
Sekarang tabel siswa sudah ada di database.
4. Edit model siswa
File: app/Models/Siswa.php
class Siswa extends Model
{
protected $table = 'siswa';
protected $fillable = ['nama', 'kelas'];
}
5. Membuat API controller
Kita bisa membuat API controller menggunakan perintah:
php artisan make:controller Api/SiswaController --api
File: app/Http/Controllers/Api/SiswaController.php
Isi lengkap controller:
<?php
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use App\Models\Siswa;
use Illuminate\Http\Request;
class SiswaController extends Controller
{
// GET /api/siswa
public function index()
{
return response()->json(Siswa::all());
}
// POST /api/siswa
public function store(Request $request)
{
$request->validate([
'nama' => 'required',
'kelas' => 'required'
]);
$siswa = Siswa::create($request->all());
return response()->json($siswa, 201);
}
// GET /api/siswa/{id}
public function show($id)
{
$siswa = Siswa::find($id);
if (!$siswa) {
return response()->json(['message' => 'Data tidak ditemukan'], 404);
}
return response()->json($siswa);
}
// PUT /api/siswa/{id}
public function update(Request $request, $id)
{
$siswa = Siswa::find($id);
if (!$siswa) {
return response()->json(['message' => 'Data tidak ditemukan'], 404);
}
$siswa->update($request->all());
return response()->json($siswa);
}
// DELETE /api/siswa/{id}
public function destroy($id)
{
$siswa = Siswa::find($id);
if (!$siswa) {
return response()->json(['message' => 'Data tidak ditemukan'], 404);
}
$siswa->delete();
return response()->json(['message' => 'Data berhasil dihapus']);
}
}
6. Membuat routing API
File: routes/api.php
Untuk memunculkan file tersebut kita gunakan perintah ini dahulu:
php artisan install:api
Lalu isi file routes/api.php, dengan kode berikut:
<?php
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Api\SiswaController;
Route::get('/user', function (Request $request) {
return $request->user();
})->middleware('auth:sanctum');
Route::apiResource('siswa', SiswaController::class);
Laravel otomatis membuat endpoint:
- GET /api/siswa
- POST /api/siswa
- GET /api/siswa/{id}
- PUT /api/siswa/{id}
- DELETE /api/siswa/{id}
Laravel mengurus semuanya. Kamu tinggal pakai.
Setelah membuat route kita harus cek apakah sudah ada apa belum.
Kita bisa cek menggunakan perintah:
php artisan route:list
7. Testing API di Postman
Untuk melakukan testing API kita bisa menggunakan aplikasi Postman dan pastikan server terus berjalan
a. Mengambil semua data (index)
Method: GET
URL:
http://127.0.0.1:8000/api/siswa
Hasil:
b. Mengambil data berdasarkan id (show)
Method: GET
URL:
http://127.0.0.1:8000/api/siswa/id
Hasil:
c. Menambah data (store)
Method: POST
URL:
http://127.0.0.1:8000/api/siswa
Body → raw → JSON:
{
"nama": "Nadya",
"kelas": "12 rpl"
}
Hasil:
d. Mengupdate data
Method: PUT
URL:
http://127.0.0.1:8000/api/siswa/id
Body → raw → JSON:
{
"nama": "Nadya Kameela",
"kelas": "12 rpl"
}
Hasil:
e. Menghapus data (destroy)
Method: DELETE
URL:
http://127.0.0.1:8000/api/siswa/id
Hasil:
3.3 Kesimpulan
4. Daftar Pustaka
Biznet Gio. (n.d.). Apa itu Laravel? https://www.biznetgio.com/blog/apa-itu-laravel/
Hostinger. (n.d.). Apa itu Laravel? Panduan lengkap untuk pemula. https://www.hostinger.com/id/tutorial/apa-itu-laravel
Jakarta Telkom University. (n.d.). Laravel: definisi, cara kerja, keunggulan dan kekurangan. https://jakarta.telkomuniversity.ac.id/laravel-definisi-cara-kerja-keunggulan-dan-kekurangan/
Rumahweb Indonesia. (n.d.). Laravel adalah: pengertian, fungsi dan kelebihannya. https://www.rumahweb.com/journal/laravel-adalah/
0 Komentar