Membuat REST API Menggunakan Lumen Micro Framework By Laravel

Kita akan coba membuat REST API menggunakan Framework Lumen micro framework by laravel yang dikembangkan oleh LARAVEL. Penjelasan lumen lebih lengap ada di sini.

Dalam tutorial ini, kita akan coba melakukan instalasi dan menerapkan REST API dengan framework Lumen.

INSTALASI

Sesuai pada dokumentasi Lumen, kita dapat menginstall lumen melalui terminal tentunya dengan menggunakan Composer.

composer create-project laravel/lumen — prefer-dist namaprojek

Maka composer akan mendownload semua package Lumen, setelah selesai kamu bisa menjalankan perintah php artisan serve, sama seperti laravel untuk menjalankannya. Buka dan Modifikasi file php bernama app.php yang berlokasi di bootstrap/app.php untuk mengaktifkan dan mengaktifkan fitur fitur yang kita butuhkan. Aktifkan Fitur Eloquent, Facedes dan Dotenv.

Bootstrap/app.php (Buka dan Modifikasi)

Dotenv::load(__DIR__.’/../’);
$app->withFacedes();
$app->withEloquent();

Sama seperti Laravel, Lumen mendukung konfigurasi .env, jadi kita aktifkan fitur Dotenv pada app.php untuk mengaktifkan konfigurasi .env atau kita bisa langsung menggunakan konfigurasi dengan memodifikasi config dari folder /vendor/laravel/lumen-framework/config/database.php

File .env

APP_ENV=local
APP_DEBUG=true
APP_KEY=4p1m1nd3v3l0p3dby4g03sc4hy0n0

APP_LOCALE=en
APP_FALLBACK_LOCALE=en

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=apimin
DB_USERNAME=root
DB_PASSWORD=

File konfigurasi pada /vendor/laravel/lumen-framework/config/database.php

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;

class CreateAlumniTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create(‘alumni’, function (Blueprint $table) { $table->increments(‘id’); $table->string(‘nama_alumni’, 150); $table->string(‘ttl’, 150); $table->text(‘alamat’); $table->string(‘tahun_lulus’, 10); $table->string(‘email’, 100); $table->string(‘nohp’, 15); $table->string(‘pekerjaan’, 150); $table->timestamps(); }); }

/** * Reverse the migrations. * * @return void */ public function down() { Schema::drop(‘alumni’); }
}

Nah, kita telah selesai nih melakukan konfigurasi Lumen nya. Untuk informasi instalasi lebih lengkap silahkan kunjungi dokumentasi lumen disini.

MEMBUAT MIGRATION

Migration disini ini mirip dengan yang ada di laravel, ya karena Lumen menggunakan Eloquent ORM nya laravel. Sebelum kita membuat tabel migrasi kita harus menginstall migrasi dengan menggunakan perintah berikut :

php artisan migrate:install

Lalu, mari kira buat tabel migration dengan nama tabel misalnya alumni, jadi perintahnya / commandnya gini:

php artisan make:migration — create=alumni create_alumni_table

Setelah menjalankan perintah di atas, maka file migration akan otomatis tergenerate di folder database/migrations dan mari kita edit dahulu untuk membuat daftar kolomnya yang ada pada tabel alumni.

2015_06_17_135406_create_alumni_table.php

<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
class CreateAlumniTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create(‘alumni’, function (Blueprint $table) { $table->increments(‘id’); $table->string(‘nama_alumni’, 150); $table->string(‘ttl’, 150); $table->text(‘alamat’); $table->string(‘tahun_lulus’, 10); $table->string(‘email’, 100); $table->string(‘nohp’, 15); $table->string(‘pekerjaan’, 150); $table->timestamps(); }); }
/** * Reverse the migrations. * * @return void */ public function down() { Schema::drop(‘alumni’); }
}

Disitu kita membuat 8 kolom, antara lain : id,nama_alumni,ttl,alamat,tahun_lulus,email,nohp,pekerjaan. Kolom created_at dan updated_at akan juga otomatis ada karena kita menambahkan timestamps();

Setelah mengedit file migration tadi, maka langkah selanjutnya kita perlu menjalanken command berikut untuk migrate tabel dan kolom yang telah dibuat agar tersimpan di database kita.

php artisan migrate

Nah, migration tabel selesai, coba cek database yang sudah dibuat tadi, sudah tersedia tabel beserta kolom yang sesuai dengan migration kita tadi apa belum. Sudah kan. Langkah selanjutnya kita perlu membuat Model dan Controllernya. Pada Tutorial Selanjutnya Ya.

Like what you read? Give Agus Cahyono a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.