Halo teman-teman semuanya, pada kesempatan kali ini kita semua akan belajar bagaimana cara membuat sebuah Restful API di Laravel 9. Disini kita akan memanfaatkan fitur dari Laravel yang memang ditunjukan untuk pembuatan sebuah Rest API, yaitu API Resources. Kita akan bahas tentang API Resources lebih dalam di artikel selanjutnya.
Di artikel pertama ini, kita semua akan belajar bagaimana cara install Laravel 9 terlebih dahulu. Dan kita lanjutkan membuat Model beserta file migration-nya.
Sebelum kita memulai membuat project baru dengan Laravel 9, pastikan teman-teman sudah memiliki Composer yang telah terinstall di dalam komputer-nya. Karena kita akan memanfaatkan Composer untuk membuat projecr di Laravel menggunakan perintah composer create-project
.
Jika teman-teman belum melakukan installasi Composer, silahkan bisa mengikuti instruksi dari situs resminya. Silahkan disesuaikan dengan sistem operasi yang digunakan.
Untuk mengetahui apakah Composer berhasil terinstall, kita bisa menjalankan perintah berikut ini di dalam terminal/CMD :
composer
Jika perintah di atas berhasil dijalankan, maka kita akan mendapati hasil yang kurang lebih seperti berikut ini :
Langkah 1 - Cara Install Laravel 9
Karena Composer sudah berhasil terinstall, maka selanjutnya kita bisa dengan mudah memulai membuat project Laravel 9 menggunakan Composer.
Silahkan masuk ke dalam folder dimana teman-teman akan menyimpan project-nya, kemudian jalankan perintah berikut ini di dalam terminal/CMD :
composer create-project laravel/laravel:^9.0 laravel9-api
Perintah di atas akan membuat project Laravel baru dengan versi 9.x
dan bernama laravel9-api
. Silahkan tunggu proses installasi-nya sampai selesai.
Langkah 2 - Menjalankan Project
Setelah proses installasi selesai, sekarang kita lanjutkan belajar bagaimana cara menjalankannya. Silahkan jalankan perintah berikut ini di dalam terminal/CMD :
cd laravel9-api
php artisan serve
Jika perintah di atas berhasil dijalankan, maka project Laravel kita akan dijalankan di dalam localhost dengan port 8000
. Kita bisa membukanya di dalam browser dengan http://localhost:8000. Kurang lebih seperti berikut ini :
Langkah 3 - Konfigurasi Koneksi Database
Karena akan bekerja dengan data, maka kita perlu menyiapkan sebuah database untuk menyimpan data tersebut secara dinamis. Di Laravel, kita cukup mengatur koneksi database-nya melalui file .env
.
Silahkan buka file .env
, kemudian cari kode berikut ini :
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
Kemudian ubah menjadi seperti berikut ini :
DB_DATABASE=db_laravel9_api
DB_USERNAME=root
DB_PASSWORD=
Di atas, kita atur untuk DB_DATABASE
menggunakan db_laravel9_api
. Itu merupakan nama database yang akan kita gunakan nantinya.
Dan untuk DB_USERNAME
dan DB_PASSWORD
silahkan disesuaikan dengan konfigurasi dari MySQL-nya masing-masing. Jika menggunakan XAMPP, maka default untuk DB_USERNAME
adalah root
dan DB_PASSWORD
adalah kosong/tidak perlu diisi.
Langkah 4 - Membuat Database
Setelah berhasil melakukan konfigurasi Database, selanjutnya kita membuat database-nya di dalam MySQL. Silahkan buka http://localhost/phpmyadmin, kemudian buat database baru dengan nama db_laravel9_api
.
Langkah 5 - Membuat Model dan Migration
Kita lanjutkan belajar membuat Model dan Migration. Silahkan jalankan perintah berikut ini di dalam terminal/CMD dan pastikan berada di dalam project Laravel-nya.
php artisan make:model Post -m
Jika perintah di atas berhasil dijalankan, maka kita akan mendapatkan 2 file baru. Yaitu :
-
app/Models/Post.php
-
database/migrations/2022_02_12_014017_create_posts_table.php
INFORMASI : untuk nama file migration akan random sesuai tanggal pembuatannya.
Sekarang kita akan menambahkan beberapa field untuk table posts
. Disini kita akan menggunakan migration untuk membuatnya. Silahkan buka file database/migrations/2022_02_12_014017_create_posts_table.php
, kemudian pada function up
, ubah kode-nya menjadi seperti berikut ini :
public function up()
{
Schema::create('posts', function (Blueprint $table) {
$table->id();
$table->string('image');
$table->string('title');
$table->text('content');
$table->timestamps();
});
}
Di atas, kita menambahkan 3 field, yaitu image
, title
dan content
.
Langkah 6 - Menjalankan Migration
Setelah berhasil menambahkan field di dalam file migration, sekarang kita lanjutkan untuk melakukan proses migrate, tujuannya agar field yang sudah kita buat di atas di generate ke dalam database.
Silahkan jalankan perintah berikut ini di dalam terminal/CMD :
php artisan migrate
Jika perintah di atas berhasil dijalankan, maka akan mendapatkan output seperti berikut ini :
Langkah 7 - Menambahkan Mass Assigment
Mass Assigment di Laravel memungkinkan kita untuk mengizinkan sebuah field dari table agar dapat menyimpan sebuah data. Karena table yang kita gunakan nantinya buat menyimpan data, maka kita perlu melakukan konfigurasi Mass Assigment-nya terlebih dahulu.
Silahkan buka file app/Models/Post.php
, kemudian ubah kode-nya menjadi seperti berikut ini :
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
use HasFactory;
/**
* fillable
*
* @var array
*/
protected $fillable = [
'image',
'title',
'content',
];
}
Di atas, kita menambahkan properti baru yang bernama $fillable
. Di dalam properti tersebut kita berikan value dari field-field yang ada di dalam table posts
.
Langkah 8 - Menjalankan Storage Link
Laravel akan menyimpan file-file yang di upload ke dalam folder yang bernama storage
. Akan tetepai Laravel secara default hanya bisa membaca file yang berada di dalam folder public
.
Dengan menjalankan perintah artisan storage:link
, maka kita akan membuatkan sebuah link atau shortcut dari folder storage
ke dalam folder public
. Dengan begini maka Laravel bisa membaca semua file-file yang ada di dalam folder storage
melalui folder public
.
Silahkan jalanakn perintah berikut ini di dalam terminal/CMD :
php artisan storage:link
Jika perintah di atas berhasil dijalankan, maka kita akan mendapatkan sebuah output dengan pesan seperti berikut ini :
The links have been created.
Dan kita bisa periksa di dalam folder public
akan muncul file/folder baru dengan nama storage
. File/folder tersebut akan mereferensikan ke dalam folder storage/app/public
.
Sampai disini pembasan kita bagaimana cara installasi Laravel 9. DI artikel selanjutnya kita akan belajar bagaimana cara membuat API Resources di dalam Laravel.
Terima Kasih