Passing Parameter JSON to Another Function LUMEN for Universal API

Chalid Ade Rahman
4 min readOct 8, 2019

--

Photo by Patrick Tomasso on Unsplash

Setelah memahami cara mendapatkan data dari JSON input pada postman. Kemudian saya diberi tugas untuk melewatkan data input tersebut dan mengirimnya ke fungsi baru. Artinya input dari JSON tersebut akan menjadi parameter yang digunakan dalam pemanggilan Restful API.

Metode ini nantinya dapat digunakan untuk membuat sebuah Universal API atau Dynamic API dimana satu fungsi yang kita buat dapat digunakan untuk semua tabel dalam database. Sederhananya seperti berikut :

Saya ingin mendapatkan data dari database, metode yang saya gunakan adalah POST dengan url localhost:8080/json. URL ini juga saya gunakan untuk input, delete, search, dan segala hal lainya. Perhatikan contoh berikut :

Gambar diatas adalah ketika saya ingin menampilkan seluruh data pada table user. Url yang saya akses adalah localhost:8080/json. ketika saya ingin menampilkan seluruh data pada table tongkang misalnya. saya hanya perlu mengganti value dari parameter table, seperti berikut :

Tak hanya dapat digunakan utuk keperluan view. Satu URL ini juga dapat digunakan untuk keperluan lain seperti search, input, update , maupun delete. Hanya perlu mengganti atau menambah parameternya. Contoh lainya saya ingin menampilkan hanya kolom noContainer, containerSize, Comodity seperti berikut :

Semua hal ini dapat kita lakukan jika, kita mampu melemparkan input dari JSON Parameter tersebut kemudian dibungkus dalam fungsi tersendiri. Sebelum masuk tutorial pastikan beberapa requirement dasar ini sudah terpenuhi ya .

Requirement Dasar

  1. Install Composser
  2. Install lumen
  3. Install Xampp
  4. Konfigurasi dasar lumen
  • Setting .env
  • Buat Satu Controller
  • Buat Satu Model

Saya asumsikan Anda sudah melakukan hal — hal diatas, kemudian selanjutnya mari kita coba hal paling sederhana, yaitu parsing input JSON to another function.

Hal — Hal Yang Akan Kita Lakukan

  1. Konfigurasi route
  2. Konfigurasi controller
  3. Testing

#1 Konfigurasi Route

Langkah pertama adalah kita coba konfigurasi route, dengan mengedit file pada routes/web.php. tambahkan satu route seperti ini misalnya :

Pada gambar tersebut artinya kita membuat sebuah router yang mengarahkan url /json. ke sebuah controller TongkangController pada fungsi json.

#2 Konfigurasi Controller

Jika sudah buatlah sebuah controller dengan nama TongkangController dan buat sebuah fungsi json seperti berikut :

Pada gambar diatas, terlhat kita membuat sebuah function baru dengan nama json. Pada function tersebut, ada variabel $input yang menyimpan input dari json pada postman. kemudian return response()->json($input) digunakan untuk memunculkan hasil response dari JSON.

Bila kita coba di postman, maka hasilnya akan seperti berikut :

Selanjutnya kita coba ambil value dari parameter action saja. value ini yang nantinya kita gunakan sebagai nama function. cara mengambil value dari sebuah parameter, kita hanya perlu memodifikasi sedikit seperti berikut :

Pada gambar diatas, kita berhasil mengambil value dari action dan menyimpannya dalam sebuah variabel. Nah mari kita buat dua buah fungsi, view dan delete. Ketika parameter di isi view, maka muncul tulisan :

View Tongkang

ketika kita mengisi parameter action dengan delete, maka muncul tulisan :

Delete Tongkang

Kata Tongkang sendiri juga akan berubah — ubah sesuai dengan input parameter pada table.

Buat fungsi seperti berikut :

Pada gambar diatas terlihat saya membuat dua fungsi baru. View dan Delete. kedua fungsi tersebut diaktifkan dengan value dari parameter action. ketika saya isi view, maka dia menjalankan fungsi view. Jika saya mengganti value dengan delete maka program akan menjalankan fungsi delete. Selain itu, nilainya juga kita parsing pada variabel input. ketika kita ingin menggunakan value pada input json kita tinggal panggil variabel input ($input).

Selanjutnya kita coba memunculkan isi dari tabel berdasarkan value pada parameter table. Pastikan anda sudah membuat tabel di database. kita hanya perlu memodifikasi sedikit codingannya seperti berikut :

Kita sudah berhasil membuat universal API, coba panggil tabel user dengan mengganti value pada parameter table. Anda akan mendapat tampilan seperti berikut :

See, dengan codingan sama, kita bisa panggil tabel — table sesuai dengan keinginan kita. Dengan begitu, Anda tinggal mengembangkan lebih jauh lagi. Saya rasa cukup sampai disini, jika ada kesalahan ketika anda mencoba. mari berdiskusi di kolom komentar dibawah. Mari kita selesaikan bersama.

Jangan lupa buat baca Artikel lainya untuk referensi :

  1. Cara Koneksi Lumen dengan Database Oracle
  2. Input Raw JSON Response to Lumen in Postman
  3. Authentication Token for Lumen with php-jwt
  4. Authentication Lumen With JWT Bearer Token

--

--

Chalid Ade Rahman
Chalid Ade Rahman

Written by Chalid Ade Rahman

PHP Programmer | PT Electronic Data Interchange Indonesia | Question : chalidade@gmail.com

No responses yet