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 :
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 :- Menginstal Composer
- Menginstal Laravel 8
- Membuat API
- Membuat Aplikasi Client
Menginstal Composer
Menginstal Laravel 8
Cara Instalasi Laravel 8
Langkah#1
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
- ketik C: jika lokasi anda berada pada drive lain.
- jika sudah berada di C: ketik perintah berikut C:\ kemudian tekan enter.
- ketik lagi cd xampp perintah ini berguna untuk masuk ke drive xampp yang ada pada drive c.
- ketik lagi cd htdocs perintah ini berguna untuk masu ke folder htdocs yang ada pada folder xampp sehingga lokasi terakhir akan berada pada htdocs.
Langkah#3
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 :
Langkah#4
php artisan serve
Langkah#5
- Membuat database
- Membuat tabel menggunakan migration
- Mengisi tabel menggunakan seeder
Membuat database
Membuat tabel menggunakan migration
php artisan make:migration create_buku_table
kemudian buka file create_table_buku pada folder database/migration dan
masukan coding sperti 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
php artisan make:seeder BukuSeeder
<?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
Membuat Application Programming Interface (API)
php artisan make:model Buku
<?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
Langkah#1
Langkah#2
berikan nama pada kolom name selanutnya tekan tombol create workspace. setelah berhasil membuat nama workspace akan diarahkan kepada tampilan berikut :selanjutnya kita akan membuat collection untuk itu silahkan klik menu Create Collection
- 15 Soal dan Jawaban PAS Informatika SMA Kelas X Semester 1 Kurikulum Merdeka - Contoh Aplikasi
- 29 Latihan Soal dan Jawaban Ekonomi Kelas X K13 Terbaru - Contoh Aplikasi
- 30 Latihan Soal dan Jawaban PAS Ganjil Seni Budaya Kelas X K13 Terbaru - Contoh Aplikasi
- 35 Latihan Soal dan Jawaban PAS Fisika Kelas X K13 Terbaru - Contoh Aplikasi
- 35 Latihan Soal dan Jawaban PAS Ganjil Matematika Kelas X K13 Terbaru - Contoh Aplikasi
- 35 Latihan Soal dan Jawaban PAS Kimia Kelas X K13 Terbaru - Contoh Aplikasi
- 35 Latihan Soal dan Jawaban PAS Matematika Wajib SMA Kelas X K13 Terbaru - Contoh Aplikasi
- 40 Latihan Soal dan Jawaban Bahasa Indonesia Kelas X K13 Terbaru - Contoh Aplikasi
- 40 Latihan Soal dan Jawaban Geografi Kelas X K13 Terbaru - Contoh Aplikasi
1 komentar untuk "Membuat API menggunakan Framework Laravel 8"