Lumen

Mulai membuat API dengan Lumen (Create, env & routes)

Lumen merupakan bagian dari framework Laravel, yang dikhususkan untuk pembuatan API. Lumen adalah salah satu micro-frameworks. Untuk melakukan penginstalan lumen, kita bisa...

Ikhwan Written by Ikhwan · 2 min read >

Lumen merupakan bagian dari framework Laravel, yang dikhususkan untuk pembuatan API. Lumen adalah salah satu micro-frameworks. Untuk melakukan penginstalan lumen, kita bisa melakukan hal tersebut dengan cara yang sama dengan penginstalan laravel.

#Create

Dalam pembuatan projectnya tentu sedikit berbeda. Sebelum melakukan pembuatan project tentukan directory untuk project lumen kita. Setelah itu gunakan code berikut di terminal anda:

composer create-project --prefer-dist laravel/lumen blog

Selamat, kita telah berhasil membuat project lumen dengan nama Blog. Jika kita ingin untuk membuat project lumen dengan versi tertentu, gunakan code berikut ini:

composer create-project --prefer-dist laravel/lumen blog “5.5.*"

Kurang lebih isi dari project lumen kita akan seperti berikut ini:

Project Lumen

*File yang memiliki warna abu-abu merupakan file dengan status hidden.

Untuk menjalankan project lumen tersebut, gunakan code berikut ini:

php -S localhost:8000 -t public

#Env

Pada bagian ini kita akan sedikit membahas tentang Env. File ini sendiri berstatus hidden. File ini memiliki fungsi sebagai settingan atau konfigurasi untuk tersambung ke database yang ada di server. File ini perlu di konfigurasi ulang ketika kita ingin mengupload dari local kita ke server agar bisa di akses secara online. Berikut contoh isi dari file ini:

APP_NAME=Lumen
APP_ENV=local
APP_KEY=o7yyJwRGvwoMRF5xbQLatdPerfl2QPYb
APP_DEBUG=true
APP_URL=http://localhost
APP_TIMEZONE=UTC

LOG_CHANNEL=stack
LOG_SLACK_WEBHOOK_URL=

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

CACHE_DRIVER=file
QUEUE_CONNECTION=sync

#Route

API diakses dengan menggunakan url. File route memiliki fungsi untuk menentukan respon atau tindakan sesuai dengan url yang diakses oleh front end developer. Nah, kali ini kita akan membahas sedikit tentang code yang ada pada file route. File yang berperan untuk hal tersebut teradapat pada routes/web.php.

#Simple

$router->get('/', function () use ($router) {
    return $router->app->version();
});

code tersebut akan dieksekusi ketika front end mengakses lumen dengan url, http://localhost:8001 (penulisan port bisa saja berbeda). Dengan mengakses url tersebut front end akan mendapatkan respon berupa versi project seperti berikut ini:

Respon dari http://localhost:8001

#MethodRequest

Pada contoh sebelumnya kita mengakses API dengan menggunakan method GET. Tentu saja kita bisa menggunakan method lainnya seperti method POST, PUT dll. Gunakan code berikut ini:

$router->get('/get_example', function ()  {
    return 'Hello from GET Method';
});
$router->post('/post_example', function ()  {
    return 'Hello from post Method';
});
  • http://localhost:8001/get_example merupakan API yang diakses dengan menggunakan method GET.
  • http://localhost:8001/post_example merupakan API yang diakses dengan menggunakan method POST.
  • Untuk melakukan test hit API yang memiliki method GET, kita bisa langsung melakukan test melalui browser. Hal ini dikarenakan setiap url yang diakses melalui browser akan memiliki method GET.
  • Untuk melakukan test hit API yang memiliki method POST, kita tidak bisa melakukannya melalui browser. Untuk melakukan test terhadap method selain method GET, kita bisa melakukannya dengan postman.
  • Jika front end mengakses API get_example tapi diakses dengan menggunakan method POST, maka API akan mengembalikan respon berupa error karena method yang digunakan tidak sesuai. Berikut contoh respon error tersebut:
Contoh respon error karena menggunakan method yang tidak sesuai.

#DynamicRoute

Pada url kita juga bisa menyematkan atau menyertakan id atau value tertentu. Hal ini adalah salah satu cara yang cukup sering dilakukan oleh back end dalam pembuatan api. Berikut contohnya:

$router->get('/user/{id}', function ($id)  {
    return 'Hello from user with id: '.$id;
});

$router->get('post/{postId}/comments/{commentId}', function ($postId,$commentId)  {
    return 'Hello from post with id: '.$postId.' and comment: '.$commentId;
});
  • Route pertama dapat diakses dengan url http://localhost:8001/user/32. Angka 32 yang berperan sebagai id pada url bisa kita ganti dengan angka lainnya.
  • Route kedua dapat diakses dengan url http://localhost:8001/post/32/comments/alo.
  • Respon dari route pertama dan kedua akan disesuaikan dengan value yang dikirimkan.

Terdapat banyak hal lainnya yang bisa dibahas mengenai route pada lumen. Kita akan bahas pada tulisan lainnya ya. Sekian dulu tulisan kali ini, terimakasih 😀

Pada website ini terdapat tulisan menarik lainnya dengan berbagai kategori seperti berikut ini:

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *