Membuat API menggunakan Framework Laravel 8

Sebelumnya kita sudah berhasil membuat aplikasi webservice menggunakan PHP native serta membuat aplikasi client untuk mengakases API tersebut. jika belum berhasil jangan lanjutkan ketahap ini karena anda harus memahami cara kerja aplikasi webservice tersebut.

sekarang saatnya kita belajar membuat aplikasi webservice menggunakan salah satu framework yang populer saat ini yaitu menggunakan framework laravel. pada website ini juga sebelumnya sudah pernah membahasa membuat aplikasi webservice menggunakan codeigniter jika ingin membacanya silahkan klik link berikut :

  1. Membuat API menggunakan Codeigniter 3
  2. Membuat Aplikasi Client menggunakan Codeigniter 3
Kembali kita lanjutkan pada artikel kali ini kita akan membuat sebuah aplikasi webservice menggunakan framework laravel, untuk membuat aplikasi tersebut kita akan bagi menjadi beberapa tahapan diantaranya adalah :

  1. Menginstal Composer
  2. Menginstal Laravel 8
  3. Membuat API
  4. Membuat Aplikasi Client

Menginstal Composer

Composer merupakan package installer yang berguna untuk menginstal berbagai macam aplikasi, tidak hanya digunakan untuk instalasi laravel saja namun framework-framework modern saat ini hampir semua menggunakan Composer sebagai package manager khususnya yang menggunakan bahasa pemrograman PHP.

pembahasan mengenai pengertian dan kegunaan composer telah ada sebelumnya pada artikel berikut ini Mengenal Composer silahkan dibaca terlebih dahulu kemudian lakukan instalasi dengan mendownload composer pada link yang sudah disediakan.

Menginstal Laravel 8

jika sudah berhasil melakukan instalasi kita akan lanjutkan ketahap berikutnya, yaitu menginstal laravel 8, perlu diketahui saat ini laravel yang paling populer dan telah melakukan beberapa update, sehingga langkah-langkah nya mungkin berbeda jika menggunakan laravel versi sbelumnya atau versi diatasnya. saat ini laravel sudah mencapai versi 8.x jika ingin melihat dokumentasi laravel anda bisa membuka link berikut ini : dokumentasi laravel 8

Seperti telah disebutkan sebelumnya bahwa kita membutuhkan composer untuk melakukan instalasi laravel, jadi sebelum memulai pastikan laravel sudah terinstal dengan benar pada laptop anda, jika ragu silahkan cek dengan membuka cmd (command prompt) kemudian ketik composer maka akan tampil seperti pada gambar berikut :
Membuat API menggunakan Laravel 8

Jika sudah sesuai kita akan melanjutkan ketahap berikutnya yaitu instalasi laravel.

Cara Instalasi Laravel 8

Langkah#1

buka cmd anda kemudian masukan perintah berikut :
composer global require laravel/installer
Untuk menjalankan perintah ini membutuhkan koneksi internet namun proses ini hanya dilakukan sekali saja, durasi pada saat instalasi package laravel tergantung dari koneksi internet anda, tunggu proses intalasi sampai selesai.

Langkah#2

pada langkah ini kita akan membuat sebuah project baru caranya silahkan buka kembali cmd anda tentukan lokasi instalasi nya, sebenarnya bebas saja kita mau simpan dimana project tersebut boleh disimpan di drive C: ataupun D:  namun pada studi kasus ini akan disimpan pada folder htdocs bawaan XAMPP, lokasi htdocs pada umumnya berada di drive C:\xampp\htdocs. untuk masuk kedalam folder tersebut bisa dengan cara seperti berikut :
  1. ketik C: jika lokasi anda berada pada drive lain. 
  2. jika sudah berada di C: ketik perintah berikut C:\  kemudian tekan enter.
  3. ketik lagi cd xampp perintah ini berguna untuk masuk ke drive xampp yang ada pada drive c.
  4. ketik lagi cd htdocs perintah ini berguna untuk masu ke folder htdocs yang ada pada folder xampp sehingga lokasi terakhir akan berada pada htdocs.

Membuat API menggunakan Laravel 8

Langkah#3

Lanjutkan dengan mengetik perintah dibawah ini pada folder htdocs
laravel new perpus_api
perintah diatas berguna untuk membuat sebuah project laravel baru dengan nama perpus_api, jika berhasil akan melakukan proses intalasi,seperti pada gambar berikut :
Membuat API menggunakan Laravel 8

Langkah#4

Membuat API menggunakan Laravel 8


jika proses instalasi sudah selesai seperti pada gambar diatas, kemudian kita masuk kedalam directory project masukan perintah berikut cd perpus_api setelh itu jalankan project yang baru saja kita instal dengan cara mengetik perintah berikut:
php artisan serve

Membuat API menggunakan Laravel 8

buka browser gunakan Chrome atau Mozilla Firefox masukan alamat diatas http://127.0.0.1:8000 maka akan muncul tampilan seperti berikut :
Membuat API menggunakan Laravel 8

Langkah#5

pada langkah ini kita akan melakukan beberapa langkah untuk membuat API diantaranya adalah :
  1. Membuat database 
  2. Membuat tabel menggunakan migration
  3. Mengisi tabel menggunakan seeder

Membuat database 

untuk pembuatan database silahkan anda buka phpmyadmin kemudian buatlah sebuah database baru dengan nama perpus_api

Membuat tabel menggunakan migration

Laravel menyediakan sebuah fitur untuk pembuatan tabel, namanya adalah migration dengan fitur ini kita tidak perlu membuat database secara manual atau membuka phpmyadmin atau menjalankan script SQL, namun dengan script php dan penggunaan library yang tersedia kita sudah dapat membuat database. fitur ini sangat berguna karena kita tidak perlu membuka buka lagi aplikasi lain ketika membuat sebuah program. sebelum membuat database kita perlu mengatur koneksi antara project dan database dengan membuka file .env, ubah file tersebut seperti pada gambar berikut :
Membuat API menggunakan Laravel 8

langkah selanjutnya adalah, jalankan perinta berikut untuk membuat file migration :
php artisan make:migration create_buku_table
kemudian buka file create_table_buku pada folder database/migration dan masukan coding sperti berikut :
Membuat API menggunakan Laravel 8

Jalankan file migration yang sudah kita buat dengan membuka lagi cmd kemudian masukan perintah berikut :
php artisan migrate
silahkan cek pada phpmyadmin jika berhasil sebuah tabel baru akan muncul pada database perpus_api, namun jika terjadi error silahkan cek lagi file migration buku_table mungkin ada kesalahan pada pengetikan coding.

Mengisi tabel menggunakan seeder

Selanjutnya kita akan mengisi tabel yang sudah kita buat dengan menggunakan seeder, seeder adalah sebuah fitur yang ada pada laravel untuk mengisi tabel menggunakan coding, buatlah sebuah seeder baru pada project anda dengan mengetik perintah sebagai berikut :
php artisan make:seeder BukuSeeder
Buka File tersebut kemudian modifikasi menjadi sperti berikut :
<?php

namespace Database\Seeders;

use Carbon\Carbon;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;

class BukuSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        $faker = \Faker\Factory::create('id_ID');
        for($i=0;$i<10;$i++){
            DB::table("Bukus")->insert([
                "kode_buku" => $faker->unique()->name,
                "judul" => $faker->name,
                "pengarang" => $faker->name,
                "isbn" => $faker->numberBetween(1000, 1500),
                "tahun" => $faker->numberBetween(2000, 2020),
                'created_at' => Carbon::now(),

            ]);
        }
    }
}
Jalankan seeder yang kita buat, namun sebelum itu kita perlu mendambahkan class BukuSeeder pada pada Folder Database/Seeders/DatabaseSeeder.php, modifikasi file tersebut menjadi seperti berikut :
<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;

class DatabaseSeeder extends Seeder
{
    /**
     * Seed the application's database.
     *
     * @return void
     */
    public function run()
    {
        $this->call(BukuSeeder::class);
    }
}
selanjutnya kita jalankan perintah pada cmd
php artisan db:seed
atau
php artisan db:seed --class=BukuSeeder
Periksa kembali tabel buku pada database anda jika muncul data baru sebanyak 10 baris berarti seeder anda sudah berhasil dijalankan.

Membuat Application Programming Interface (API)

untuk membuat API kita perlu membuat model terlebih dahulu agar aplikasi dapat menampilkan data dari tabel yang kita buat, model yang akan kita buat akan dinamai dengan Buku.php file ini akan muncul secara otomatis setelah anda menjalankan perintah berikut :
php artisan make:model Buku
buka file Buku.php yang berada pada folder Models/Buku.php kemudian modifikasi file tersebut seperti berikut:
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Buku extends Model
{
    use HasFactory;
    protected $table="buku";
    protected $fillable = [
        'kode_buku', 'judul','pengarang','isbn','tahun'
    ];
}
Setelah itu kita akan membuat controller dengan nama BukuController, untuk membuat controller jalankan perintah berikut :
php artisan make:controller BukuController --resource --api
jika sudah silahkan modifikasi file tersebut yang ada pada Folder Http/controllers/BukuController.php kemudian modifikasi menjadi seperti berikut :
<?php

namespace App\Http\Controllers;

use App\Models\Buku;
use Facade\FlareClient\Http\Response;
use Illuminate\Database\QueryException;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
use Symfony\Component\HttpFoundation\Response as HttpFoundationResponse;

class BukuController extends Controller
{
    public function index()
    {
        $buku = Buku::orderBy('created_at', 'DESC')->paginate(5);
        $response = [
            'message' => 'Data Buku',
            'data' => $buku,
        ];
        return response()->json($response, HttpFoundationResponse::HTTP_OK);
    }

    public function store(Request $request)
    {
        $validator = Validator::make($request->all(), [
            "kode_buku" => ['required'],
            "judul" => ['required'],
            "pengarang" => ['required'],
            "isbn" => ['required'],
            "tahun" => ['required'],
        ]);

        if ($validator->fails()) {
            return response()->json(
                $validator->errors(),
                HttpFoundationResponse::HTTP_UNPROCESSABLE_ENTITY
            );
        }

        try {
            $buku = Buku::create($request->all());

            $response = [
                'message' => 'Berhasil disimpan',
                'data' => $buku,
            ];

            return response()->json($response, HttpFoundationResponse::HTTP_CREATED);
        } catch (QueryException $e) {
            return response()->json([
                'message' => "Gagal " . $e->errorInfo,
            ]);
        }
    }

    public function show($kode_buku)
    {
        $buku = Buku::where('kode_buku', $kode_buku)->firstOrFail();
        if (is_null($buku)) {
            return $this->sendError('Buku tidak diemukan');
        }
        return response()->json([
            "success" => true,
            "message" => "Data Buku ditemukan.",
            "data" => $buku,
        ]);
    }

    public function update(Request $request, $kode_buku)
    {
        $buku = BUku::find($kode_buku);
        $buku->update($request->all());
        return response()->json([
            "success" => true,
            "message" => "Data Buku telah diubah.",
            "data" => $buku,
        ]);
    }

    public function destroy($kode_buku)
    {
        $deletedRows = Buku::where('kode_buku', $kode_buku)->delete();
        return response()->json([
            "success" => true,
            "message" => "Data Buku berhasil dihapus.",
            "data" => $deletedRows,
        ]);
    }
}
Setelah membuat controller kita harus menambahkan coding untuk routing yang ada pada folder routes/api.php kemudian tambahkan coding berikut :
<?php
use App\Http\Controllers\BukuController;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;

Route::get('/buku', [BukuController::class, 'index']);
Route::post('/buku', [BukuController::class, 'store']);

Mengetes API menggunakan aplikasi Postman

Postman digunakan untuk melakukan pengetesan API yang telah kita buat, kita dapat melakukan request sesuai dengan  routing yang ada pada folder route/api.php, jika belum install silahkan download terlebih dahulu kemudian lakukan instalasi link download postman berada disini : https://www.postman.com/downloads/
sebelum kita melakukan pengetesan menggunakan postman kita harus tahu dulu bagaimana cara penggunaanya, disini akan dijelaskan langkah-langkah yang perlu dilakukan.

Langkah#1

biasanya ketika kita pertama kali menjalankan postman akan diminta untuk melakukan signup, atau mendaftar, pendaftaran perlu dilakukan agar akun kita tersimpan sehingga dapat menyimpan project serta request-request yang kita buat. untuk melakukan pendaftaran dapat kita gunakan akun google atau boleh juga mendaftar langsung pada aplikasi.

Langkah#2

setelah mendaftar langkah selanjutnya adalah membuat workspace,environtment dan collection, untuk membuatnya workspace silahkan klik menu worksapace kemudian klik new wokspace
Membuat API menggunakan Framework Laravel 8

berikan nama pada kolom name selanutnya tekan tombol create workspace. setelah berhasil membuat nama workspace akan diarahkan kepada tampilan berikut :
Membuat API menggunakan Framework Laravel 8
selanjutnya kita akan membuat collection untuk itu silahkan klik menu Create Collection

1 komentar untuk "Membuat API menggunakan Framework Laravel 8"