X
    Categories: laravel

Laravel REST API

Tutorial seterusnya akan menyenarai rekod melalui format data JSON.

Penyediaan persekitaran Laravel menggunakan LARAGON mungkin anda perlu lalui dua tutorial ini sekiranya masih baru dalam Laravel –

T1: Kaedah install & guna Laragon ( http://fstm.kuis.edu.my/blog/laravel1 )

T2: Asas CRUD dalam Laravel ( http://fstm.kuis.edu.my/blog/laravel2 )


REST API

Dengan keperluan mendesak capaian pangkalan data melalui app mobile dan framework JavaScript, Sistem web pangkalan data sekarang ini perlu menyokong penghantaran data universal. RESTful API merupakan pilihan yang terbaik untuk membenarkan capaian kepada data tanpa perlu berkongsi katalaluan pangkalan data kepada semua orang.

Format penghantaran data yang biasa diguna adalah format JSON (atau XML). Dalam tutorial ini kita akan membincangkan bagaimana Laravel menjana data API dalam format JSON.

Contoh JSON format data

Di akhir tutorial ini kita akan menjana format data JSON seperti dalam gambar di atas.

HTTP Verbs
Dalam RESTful API, kita akan menggunakan HTTP verbs sebagai perlakuan operasi ke atas data.

GET: dapatkan data
POST: masukkan data baharu
PUT: kemaskini data
DELETE: padam data

 

routes/api.php

Ini merupakan fail yang penting untuk menjana API data. Tambah beberapa baris kod berikut berdasarkan HTTP verbs.

<?php
use Illuminate\Http\Request;
Use App\Training;//use Trainings model
/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| is assigned the "api" middleware group. Enjoy building your API!
|
*/
// trainings API
// Let’s create the basic endpoints for our application:
// create, retrieve the list, retrieve a single one, update, and delete.
// On the routes/api.php file, we can simply do these:
Route::get('trainings', function() {
    // If the Content-Type and Accept headers are set to 'application/json',
    // this will return a JSON structure. This will be cleaned up later.
    return Training::all();
    //this is to list all records
    //available from http://start1.test/api/trainings
});
Route::get('trainings/{id}', function($id) {
    return Training::find($id);
    //this is to list one specific record by id
    //available from http://start1.test/api/trainings/3
});
Route::post('trainings', function(Request $request) {
    return Trainings::create($request->all);
    //to insert a new record
});
Route::put('trainings/{id}', function(Request $request, $id) {
    $training = Trainings::findOrFail($id);
    $training->update($request->all());
    return $training;
    //to search record
});
Route::delete('trainings/{id}', function($id) {
    Training::find($id)->delete();
    return 204;
    //to delete one record with specific id
});
//users authentication
Route::middleware('auth:api')->get('/user', function (Request $request) {
    return $request->user();
});

Dah selesai tambah kod berikut dalam routes/api.php, sila test melalui path yang ditambah /api/

Contoh: http://start1.test/api/trainings

 

 


Trainer:
KHIRULNIZAM ABD RAHMAN, Pensyarah Jabatan Sains Komputer, FSTM KUIS.

Beliau merupakan seorang trainer dalam bidang pengaturcaraan server dan antaramuka web (web front-end & backend) semenjak tahun 2000. Disamping itu juga amat berminat dalam pembangunan applikasi mobile Android, JSON, LARAVEL dan PHP-MySQL.

Antara kursus yang beliau kendalikan;

  1. Android Studio
  2. Pembangunan Web dengan PHP&MySQL
  3. Pembangunan Sistem Web menggunakan kerangka Laravel

Blog peribadi beliau di khirulnizam.com . Beliau boleh dihubungi melalui email khirulnizam@gmail.com , atau Whatsapp: http://wasap.my/60129034614

Khirulnizam Abd Rahman: Sila hubungi kami di m.me/kuis.fstm atau WhatsApp 0129034614

Comments are closed.