Tutorial RESTFul Web Service Menggunakan Lumen Laravel Dan AngularJs (Server)
Tutorial RESTFul Web Service Menggunakan Lumen Laravel Dan AngularJs (Server)
Apa
Itu Lumen ?
Lumen adalah sebuah
Micro Framework yang dirancang khusus untuk kebutuhan Micro’s Services dan
juga kebutuhan API. Karena framework ini bersifat micro, Taylor Otwell lebih
mengedepankan soal kecepatan untuk akses data, bahkan pada website resminya
Framework ini digadang-gadang sebagai salah satu yang tercepat dari 3 Micro
Framework yang tersedia saat ini yaitu Silex dan juga Slim 3.
AngularJs ?
AngularJS adalah front-end
framework untuk javascript yang dikembangkan oleh Google. Dengan fitur-fitur
powerful dari AngularJS, proses development bisa menjadi jauh lebih singkat. Di
sisi lain, organisasi kode Javascript menjadi lebih terstruktur dan “bersih”
karena penggunaan framework ini mendorong penerapan pola MVC—ataupun
MV-Whatever—pada aplikasi yang kita kembangkan.
Disini akan dijelaskan tutorial membuat RESTFul Web Service menggunakan Laravel Lumen dan AngularJS.
Server
Pada variabel $fillable, kita isikan array dengan nama-nama atribut tabel pada tabel Tutorial. Hal ini diperlukan untuk menetapkan properti ke objek langsung.
Disini akan dijelaskan tutorial membuat RESTFul Web Service menggunakan Laravel Lumen dan AngularJS.
Server
1.
Download dan install Lumen
Laravel via composer.
2.
Sebelumnya, kita buat
folder baru di C: misalkan. Dalam tutorial ini, saya membuat folder baru,
C:/Sister
3. Kemudian buka cmd, dan
ketikkan composer create-project
laravel/lumen [nama_folder] - -prefer-dist.
(misal : composer create-project laravel/lumen siter --prefer-dist). Dan tunggu
hingga proses instalasi dan downloding selesai.
4. Jika
sudah selesai, kita ketikan di cmd seperti di bawah ini:
Dalam
hal ini, kita mngatur port yang akan digunakan oleh server kita dalam
menjalankan rest api. Tutorial ini menggunakan port 8100.
5. Lalu,
kita lakukan testing.
6. Buka
browser atau Postman, jalankan url http://localhost:8100/
. Jika berhasil, maka akan ditampilkan seperti berikut :
Hal ini menunjukan
bahwa kita telah berhasil melakukan instalasi Lumen Laravel.
7.
Dari proses instalasi
tersebut, maka akan terbentuk beberapa file pada folder yang sebelumnya kita
buat.
8. Kemudian,
kita edit file app.php (bootstrap
> app.php). Edit kode program menjadi seperti berikut.
Maksud dari tindakan
ini adalah bahwa kita dapat mengaktifkan dan mengkonfigurasi hanya fitur yang
kita butuhkan.
9. Lumen
mendukung konfigurasi .env. Ubah nama .env.example
untuk .env dan hal ini digunakan
untuk mengatur properti database yang benar untuk workspace kita.
APP_ENV=local
APP_DEBUG=true
APP_KEY=SomeRandomKey!!!
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=sister
DB_USERNAME=root
DB_PASSWORD=
CACHE_DRIVER=array
QUEUE_DRIVER=array
SESSION_DRIVER=array
|
Kegiatan ini digunakan
untuk menyambungkan database. Dalam tutorial ini, database yang dibuat bernama sister pada MySQL. Lalu Klik Save.
10.
Langkah selanjutnya,
kita membuat model dalam database kita dengan nama tabel yang diinginkan.
11.
Ketikan pada cmd,
artisan
make:migration create_[namatabel]s_table --create=articles
tutorial ini menggunakan
nama tabel Tutorials. (Warning :
setiap diakhir nama tabel selalu bumbuhi dengan huruf ‘s’).
12. Lalu, buka Migration > pilih file hasil create tabel sebelumnya.
12. Lalu, buka Migration > pilih file hasil create tabel sebelumnya.
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateTutorialsTable extends Migration
{
/**
* Run
the migrations.
*
*
@return void
*/
public
function up()
{
Schema::create('tutorials',
function(Blueprint $table)
{
$table->increments('id');
$table->string('title');
$table->string('content');
$table->timestamps();
});
}
/**
*
Reverse the migrations.
*
*
@return void
*/
public
function down()
{
Schema::drop('tutorials');
}
}
|
Maksud
dari kode program tersebut adalah, pada tabel tutorials (yang telah kita buat)
memiliki 3 atribut yaitu id (dengan auto increment), title (tipe data string),
dan content (tipe data string). Selain itu juga ada timestamps untuk mengisi
kolom create_at dan update_at.
13.
Ketikan pada cmd,
php atisan migration
Hal
ini kita membuat sebuah tabel, dan nantinya tabel yang telah terbuat akan di
migrasikan ke database kita di MySQL.
14.
Cek di phpmyadmin kita.
Dan telah terbentuk 2 tabel, yaitu migrations dan tutorials.
15.
Hal terakhir di bagian
model adalah membuat file baru dengan nama sesuai nama tabel yang kita buat.
Misalnya dalam tutorial ini nama tabel yang dibuat adalah tutorial, maka nama file baru yang kita buat beri nama Tutorial.
16.
Isikan file tersebut
dengan kode program berikut :
<?php namespace App;
use Illuminate\Database\Eloquent\Model;
class Tutorial extends Model
{
protected $fillable = ['title',
'content'];
}
|
Pada variabel $fillable, kita isikan array dengan nama-nama atribut tabel pada tabel Tutorial. Hal ini diperlukan untuk menetapkan properti ke objek langsung.
17.
Kemudian simpan di folder
app/
18. Selanjutnya kita membuat file baru pada http/Controller/ [nama_file_baru].
Misalkan TutorialControllers.php
19.
isi dengan kode program
berikut ini :
<?php
namespace
App\Http\Controllers;
use
App\Tutorial;
use
App\Http\Controllers\Controller;
use
Illuminate\Http\Request;
class
TutorialController extends Controller{
public function index(){
$articles = Tutorial::all(); //mengambil data dari
database
return response()->json($articles);
}
public function getArticle($id){
$article = Tutorial::find($id);
return
response()->json($article);
}
public function saveArticle(Request
$request){
$article =
Tutorial::create($request->all());
return
response()->json($article);
}
public function deleteArticle($id){
$article = Tutorial::find($id);
$article->delete();
return response()->json('Berhasil
di hapus');
}
public function updateArticle(Request
$request,$id){
$article = Tutorial::find($id);
$article->title =
$request->input('title');
$article->content =
$request->input('content');
$article->save();
return
response()->json($article);
}
}
|
Kita
menerapkan semua metode CRUD untuk kelas Tutorial dan mengembalikan objek dalam
format Json. API sederhana ini bisa digunakan misalnya dalam aplikasi AngularJS
(client).
20.
Bagian terakhir dari
tutorial ini adalah tentang routing. Route di Lumen bekerja sama dengan Laravel.
Kita bisa menempatkan middleware dan memanggil metode pengontrol. Buka folder app/Http/ [nama_file_baru_routes].
Misalkan routes.php
21.
Isikan file dengan kode
program berikut :
<?php
$app->get('/',
function () use ($app) {
return $app->version();
});
$app->get('api/wildan','TutorialController@index');
$app->get('api/wildan/{id}','TutorialController@getArticle');
$app->post('api/wildan','TutorialController@saveArticle');
$app->put('api/wildan/{id}','TutorialController@updateArticle');
$app->delete('api/wildan/{id}','TutorialController@deleteArticle');
|
'api/wildan'
adalah link url yang akan kita gunakan utnuk mengopeasikan rest api.
22. Testing. Buka Postman
atau browser kita
Sekian tutorial untuk Server....
Tunggu postingan selanjutnya untuk
tutorial Client-nya..
Selamat Mencoba
Karya : Wildan A
Nasrullah
Ref.
: https://www.codetutorial.io/lumen-first-tutorial/
ExpressTech Software Solutions is one of the best Laravel Development Company in India specialized in providing on demand striking web application development. Contact us : +91-9806724185 or Contact@expresstechsoftwares.com
BalasHapus