Membuat RESTful API Menggunakan Slim PHP Framework

Dalam membuat aplikasi android yang membutuhkan komunikasi dengan server diperlukan jembatan penghubung. Salah satunya yaitu menggunakan RESTful API. Dengan RESTful API ini akan memungkinkan pertukaran data antara android dengan server.

Di tutorial ini kita akan fokus membahas tentang pembuatan RESTful API menggunakan Slim. Untuk yang belum paham tentang apa itu RESTful API bisa googling terlebih dahulu atau tunggu tulisan dari saya berikutnya hehe.

Untuk membuat RESTful API ini sebetulnya bisa dilakukan dengan berbagai cara. Cara disini maksudnya adalah bisa dilakukan dengan berbagai macam bahasa pemrograman ataupun bisa dengan berbagai macam framework yang telah ada.

Lalu kenapa saya memilih Slim?

  1. Slim menggunakan PHP sebagai bahasa pemrogramannya. Kita tahu bahwa PHP sangat populer, banyak orang yang menggunakannya terutama untuk developer yang baru memulai belajar mengenai RESTful API.
  2. Slim menurut saya salah satu framework yang simple, saya membandingkannya dengan framework Laravel Lumen. Jadi menurut saya akan lebih mudah dimengerti.
  3. Untuk kecepatan, Slim tidak kalah dengan Lumen. Berdasarkan test yang ditunjukkan pada website Laravel Lumen, Slim dapat melakukan 1800 request per detiknya sedangkan Lumen dapat melakukan 1900 request per detiknya.

Mungkin ada yang bertanya juga, kenapa tidak membuat dari scratch saja? Alasan saya yaitu kalau tidak menggunakan framework akan membutuhkan waktu yang lebih lama dibanding menggunakan framework. Ini dalam artian untuk membuat RESTful API yang baik ya. Yang baik itu seperti apa? Coba baca dari beberapa blog berikut :

Installasi Composer dan Slim

Slim memberikan rekomendasi untuk menggunakan slim-skeleton. Slim skeleton ini seperti kerangka proyek yang telah dibuat oleh Slim untuk memudahkan dan mempercepat development. Untuk mendapatkannya cara yang direkomendasikan oleh Slim yaitu menggunakan Composer.

Jika kalian menggunakan Windows, download file exe Composer kemudian install. Setelah terinstall, coba cek apakah composer telah terinstall dengan benar atau belum. Caranya dengan mengetikkan “composer” pada command prompt.

Setelah composer terpasang, langkah selanjutnya adalah membuat sebuah proyek baru menggunakan slim-skeleton. Proyek baru ini jika ingin bisa dicoba di lokal komputer, sebelumnya harus sudah terpasang xampp atau wamp terlebih dahulu.

Memasang slim-skeleton dengan composer caranya sebagai berikut :

  1. Masuk ke folder htdocs lewat command prompt. (Untuk berpindah folder pada cmd windows gunakan perintah “cd“).
  2. Kemudian ketik “composer create-project slim/slim-skeleton first-restful-api“. first-restful-api bisa diganti dengan nama proyek yang kalian inginkan. Agak sedikit lama dalam proses ini.
  3. Jika berjalan dengan sukses, maka jika kita buka lewat browser dan memasukkan url “http://localhost/first-restful-api/public/” akan muncul home page seperti gambar di bawah :

Berikut adalah struktur proyek dari hasil pemasangan slim-skeleton di atas :

Membuat database dan tabel

Daripada harus menggunakan data dummy sebagai contoh hasil dari request ke API, tidak ada salahnya kita membuat database sederhana untuk menyimpan data. Langkah-langkahnya adalah :

  1. Buat database dengan nama first_restful_api
  2. Buat 1 tabel dengan nama buah dan berikut daftar kolomnya

Mengatur koneksi ke database

Pengaturan database ini bisa kita taruh di dalam file src/dependencies.php. Nanti kode yang ada di file ini bisa kita gunakan pada file src/route.php ataupun lainnya untuk query ke database. Sebelum membuat kode untuk koneksinya, kita memerlukan kode konstanta yang berisikan host, user, password dan nama db. Kode konstanta ini bisa kita taruh di file src/settings.php.

Konstanta database di settings.php

Sambungan ke MySQL di dependencies.php

 

Daftar url API yang akan dibuat

Semua kode yang digunakan untuk mendefinisikan route, mendapatkan data dari database, menerima request dari luar dan mengembalikan response ditulis di file src/routes.php

Mendapatkan semua buah

Method dan url

Kode

Response

Ada 3 kemungkinan response yang akan didapat seperti terlihat di atas. Kode 1 menandakan bahwa data berhasil didapatkan, kode 2 menandakan bahwa data tidak tersedia dan kode 100 menandakan bahwa ada yang error ketika query ke database.

Mendapatkan 1 data buah berdasarkan id

Method dan url

Ganti {id} dengan id dari buah yang ingin didapatkan

Kode

Response

Perlu diperhatikan pada response sukses bagian key data. Key data berisikan sebuah json object bukan json array seperti waktu pengambilan semua buah karena pada request ini hanya meminta data 1 buah saja.

Menambahkan 1 buah

Method dan url

Parameter

Parameter ini harus ikut dikirimkan waktu mengakses url API ini.

Kode

Response

Update nama buah

Method dan url

Ganti {id} dengan id buah yang ingin diupdate

Parameter

Kode

Response

Menghapus 1 buah

Method dan url

Kode

Response

4 contoh url API di atas sudah mewakili penerapan CRUD atau Create Read Update Delete pada database. Untuk create diwakili oleh url untuk membuat/menambah data buah dengan method POST, untuk read diwakili oleh url untuk mendapatkan daftar buah ataupun yang hanya 1 buah dengan method GET, untuk update diwakili oleh url untuk update nama buah dengan method PUT dan delete diwakili oleh url untuk menghapus data buah dengan method DELETE.

 

Mungkin sampai disini dulu untuk tutorial ini. Dan sedikit pesan dari saya, carilah juga cara lain untuk membuat RESTful API dan bandingkan dengan cara yang saya bagikan di tutorial ini. Mungkin bisa dibandingkan dari segi kecepatan request dan responsenya, kemudahan pembuatan dan maintenancenya ataupun bisa yang lainnya. Beritahu saya di kolom komentar ya jika kalian menemukan sesuatu yang menarik untuk didiskusikan.