Cara Membuat Restful API di Lumen #1 : Installasi & Persiapan - Halo teman-teman semuanya, pada kesempatan kali ini kita semua akan belajar bersama-sama bagaimana cara membuat Restful API di Lumen.
Lumen merupakan Micro Framework dari Laravel yang dibuat untuk para developer dalam mengembangkan sebuah aplikasi yang mengekomodasi sebuah Restful API.
Jika kita tahu, ada banyak sekali Micro Framework yang bisa kita pakai untuk mengembangkan aplikasi dengan kebutuhan Restful API. Seperti halnya Slim Framework, Silex dan masih banyak lagi yang lainnya.
Akan tetapi yang menjadi keistimewaan Lumen adalah dari situs resminya dia mengklaim bahwa hasil kecepatan Benchmarknya mencapai 1900 request perdetik. Dan jika dibandingkan dengan Slim yang hanya bisa 1800 request perdetik dan Silex hanya 1000 request perdetik.
Jika sebelumnya teman-teman pernah menggunakan Framework Laravel, maka akan sedikit kaget jika menggunakan Lumen. Karena di dalam Lumen ada beberapa fitur artisan yang dihilangkan.
Jika di Laravel teman-teman membuat model bisa dengan menjalankan php artisan make:model
, maka di Lumen fitur itu sudah dihilangkan.
Begitu juga membuat sebuah controller baru, fitur php artisan make:controller
sudah dihilangkan juga di Lumen.
Untuk mengetahui perintah artisan apa saja yan bisa kita gunakan di Lumen, kita bisa melnjalankan perintah dibawah ini
php artisan list
Dari Perintah di atas kita akan ditampilkan beberapa perintah artisan yang bisa kita gunakan untuk mengembangkan aplikasi dengan Lumen.
Cara Install Lumen
Setelah kita berkenalan sedikit tentang Micro Framework Lumen ini, terus bagaimana cara kita menginstallnya ? atau menggunkannya untuk pengembangan sebuah aplikasi.
Dari situs resminya di https://lumen.laravel.com/ memberi tahu kepada kita semua, bahwa ada beberapa persyaratan yang harus kita penuhi sebelum menginstall Lumen. Diantaranya :
- PHP >= 7.2
- OpenSSL PHP Extension
- PDO PHP Extension
- Mbstring PHP Extension
Setelah itu kita juga membutuhkan yang namanya Composer untuk menginstall Micro Framework Lumen ini. Untuk teman-teman yang belum menginstall composer, silahkan buka situs resminya di https://getcomposer.org/.
Setelah Composer sudah terinstall, kita bisa membuat project baru dengan composer. Sekarang silahkan teman-teman masuk ke direktori dimana akan menyimpan projecnya.
Setelah itu jalankan perintah di bawah ini untuk mulai menginstall Lumen
composer create-project --prefer-dist laravel/lumen MyApp
MyApp
merupakan nama project kita.
Silahkan tunggu sampai proses installasinya selesai. Dan setelah selesai sekarang kita bisa menjalankan aplikasinya dengan mengetikkan perintah dibawah ini :
cd MyApp
php -S localhost:8000 -t public
Maka jika teman-teman berhasil, kurang lebih tampilannya seperti berikut ini :
Membuat Database
Setelah kita berhasil menginstall dan menjalankan aplikasi Lumen kita, langkah selanjutnya adalah membuat sebuah database baru.
Silahkan teman-teman buka http://localhost/phpmyadmin dan silahkan teman-teman buat database baru dengan nama “db_lumen_api”.
Setelah database berhasil dibuat, langkah selanjutnya adalah menkonfigurasi koneksi database yang ada di aplikasi Lumen kita.
Silahkan buka file .env
dan cari kode dibawah ini :
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
Dan silahkan ubah menjadi seperti berikut ini :
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=db_lumen_api
DB_USERNAME=root
DB_PASSWORD=
Untuk password
, silahkan disesuaikan dengan pengaturan MySQL kalian masing-masing.
Setelah konfigurasi databasenya berhasil, sekarang kita akan mengaktifkan beberapa fitur yang secara default bawaan Lumen ini tidak diaktifkan.
Silahkan buka file app.php
di dalam folder bootstrap dan silahkan teman-teman uncomment
kode dibawah ini :
$app->withFacades();
$app->withEloquent();
Karena nanti kita akan menggunakan Eloquent ORM
yang sama dengan Laravel. Yang mana dengan ini kita akan lebih cepat dalam mengembangkan aplikasi dengan Lumen.
Membuat Migration
Setelah itu kita akan membuat sebuah migration baru, yang mana migration ini akan kita gunakan untuk membuat Restful APInya nanti.
Silahkan teman-teman jalankan perintah dibawah ini untuk membuat sebuah migration baru.
php artisan make:migration create_posts_table
Dari perintah diatas, teman-teman akan dibuatkan sebuah file baru di dalam database/migratoions dengan nama kurang lebih seperti berikut ini
2020_02_06_114357_create_posts_table.php
Silahkan teman-teman buka file 2020_02_06_114357_create_posts_table.php
dan cari kode dibawah ini :
public function up()
{
Schema::create('posts', function (Blueprint $table) {
$table->bigIncrements('id');
$table->timestamps();
});
}
Ubah menjadi seperti berikut ini :
public function up()
{
Schema::create('posts', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('title');
$table->text('content');
$table->timestamps();
});
}
Dari kode di atas kita menambahkan 2 kolom baru
, yaitu title
dan content
.
Setalah itu silahkan teman-teman jalankan perintah diabwah ini untuk melakukan proses migrasi tabel ke database.
php artisan migrate
Jika berhasil kurang lebih hasilnya seperti berikut ini :
Migration table created successfully.
Migrating: 2020_02_06_114357_create_posts_table
Migrated: 2020_02_06_114357_create_posts_table (0.01 seconds)
Sampai disini pembahasan tentang Installasi dan Persiapan di Lumen untuk mengembangkan aplikasi Restful API. Di artikel selanjutnya kita semua akan belajar tentang menampilkan data dari database dengan Restful API dalam format JSON.
Terima Kasih