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
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 :
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 :
- 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
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 :
Langkah#4
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
buka browser gunakan Chrome atau Mozilla Firefox masukan alamat diatas
http://127.0.0.1:8000 maka akan muncul tampilan seperti berikut :
Langkah#5
pada langkah ini kita akan melakukan beberapa langkah untuk membuat API
diantaranya adalah :
- Membuat database
- Membuat tabel menggunakan migration
- 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 :
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 :
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
<?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)
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
<?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
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
Baca juga :
- 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