Cara Membuat Restful API di Lumen #1 : Installasi & Persiapan


Cara Membuat Restful API di Lumen #1 : Installasi & Persiapan

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


Fika Ridaul Maulayya
Full-Stack Developer, Content Creator and CO-Founder SantriKoding.com

Suka dengan tulisan di SantriKoding? Kamu bisa memberikan dukungan dengan berdonasi atau bagikan konten ini di sosial media. Terima kasih atas dukungan Anda!

KEBIJAKAN KOMENTAR

Saat memberikan komenatar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami