Membuat Simple API dengan Lumen Framework
Instalasi
Kebutuhan Server
- Php ≥ 5.6.4
- OpenSSL Php Extension
- PDO Php Extension
- Mbstring Php Extension
Install lumen
lumen sebagaimana juga framework modern lainnya menggunakan composer untuk mengelola dependency (package) yang ada di dalamnya, jadi pastikan sebelum menggunakan lumen, composer sudah terinstall dan siap digunakan.
Untuk yang belum mengetahui composer dan apa gunanya composer bisa baca tulisan saya mengenal composer
Menjalankan lumen
untuk menjalankan lumen di local komputer, bisa menggunakan XAMPP di windows dan linux atau MAMP bagi pengguna mac os.
bisa juga menggunakan built-in web server php dengan perintah:
php -S localhost:8000 -t public
Konfigurasi
konfigurasi lumen terdapat pada file .env , hal selanjutnya adalah mengatur aplication key dengan random string 32 karakter pada bagian APP_KEY
Overview Simple API
Ibaratkan sebuah blog yang mempunyai post, pada tutorial ini akan dijelaskan step by step cara membuat post melalui API.
fitur yang akan dibuat adalah:
- membuat post
- list post
- view single post
- update post
- delete post
Database
Post yang dibuat akan disimpan didatabase, untuk itu diperlukan mengatur database yang akan digunakan pada file .env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=nama_database
DB_USERNAME=usernama_database
DB_PASSWORD=password_database
Membuat table and kolom
Post akan disimpan dalam table posts dengan kolom sebagai berikut:
- id
- title
- body
membuat table dan kolom melalui database migration, dengan perintah:
php artisan make:migration create_posts_table --create=posts
perinah tersebut akan membuat file baru dalam folder database/migrations, definisikan kolom dan table yang dibutuhkan pada file baru tersebut.
public
function up()
{
Schema::create('posts', function
(Blueprint $table) {
$table->increments('id');
$table->string('title');
$table->text('body');
$table->timestamps();
});
}
jalankan perintah php artisan migrate kemudian check database, jika berjalan dengan baik akan ada table baru dengan nama posts sesuai dengan yang didefinisikan pada file migrations.
lebih lanjut tentang migration bisa check disini
URL dan Http Verb
Aksi yang dilakukan pada API adalah dengan menggunakan URL dan http verb yang berbeda, pada simple API ini yang digunakan adalah
- GET /posts
menampilkan list post
- POST /posts
membuat post baru
- GET /posts/123
menampilkan post dengan id 123
- PUT /posts/123
update post dengan id 123
- DELETE /posts/123
menghapus post dengan id 123
Membuat API