Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • Search
Menu

Tutorial Membuat API dengan Laravel 8 (Part 1)

Posted on March 14, 2022

Pada tutorial kali ini kita akan membuat sebuah RESTful API menggunakan Laravel 8. Lebih khususnya, kita akan mengadopsi sebuah framework API yang sudah cukup matang, yaitu Apiato. Menurut yang empunya, Apiato adalah “The open source flawless framework for building scalable and testable API-Centric Apps with PHP and Laravel“, sebuah framework opensource yang secara flawless/tanpa tedeng aling-aling digunakan untuk membangun aplikasi dengan filosofi API-sentris yang skalabel dan testabel dengan menggunakan PHP dan Laravel.

Adapun fitur dari Apiato ini sendiri antara lain:

  • Otentifikasi dengan OAuth 2.0
  • RBAC (role-based access control) dengan contoh super admin, role dan permission nya
  • Query parameter bawaan seperti orderBy, sortedBy dan filter lain
  • Ada endpoint khusus untuk mengelola user, role/permission, token dll
  • API documentation generator dengan PHP Docblok dan ApiDocJS
  • Mendukung CORS (cross-origin resource sharing)
  • Mendukung JSONP (JSON with padding) dll

Silakan ikuti series tutorial untuk mengikutinya!

Persiapan

Untuk lebih mudah mengikuti tutorial ini, silakan menyiapkan komputer yang sudah terpasang PHP Composer, Docker Desktop dan IDE favorit, Visual Studio Code.

Buka aplikasi terminal/console/cmd dan buat folder baru dengan nama (misalnya) apiku. kemudian masuk ke dalamnya. cd apiku. Setelah itu buka folder dengan Visual Studio Code.

Kemudian buat satu file docker composer baru dengan isi sebagai berikut:

[sourcecode language=”yaml”]
version: ‘3’
services:
app:
image: panahbiru/php:8.0-apache
links:
– db
ports:
– "8000:80"
volumes:
– ./:/var/www

db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: "password"
MYSQL_USER: "admin"
MYSQL_PASSWORD: "password"
MYSQL_DATABASE: "apiku"
ports:
– "33065:3306"
volumes:
– ./mysqldb:/var/lib/mysql
[/sourcecode]

dimana kita akan membuat dua container docker, sebuah web server dengan PHP 8.0 dan database dengan MySQL 5.7. Silakan sesuaikan dengan kebutuhan (username, password, nama DB dll).

setelah disimpan, build stack docker tersebut dengan perintah docker-compose up -d. Tunggu sampai selesai ya, terutama jika image panahbiru/php:8.0-apache dan mysql:5.7 belum ada di docker kamu.

Instalasi Apiato

Untuk instalasi apiato, untuk nama aplikasi apiku, silakan lakukan perintah ini di cmd/terminal:

composer create-project apiato/apiato apiku

tunggu sampai proses download dependensinya selesai.

Migrasi Database

Langkah selanjutnya kita akan melakuan migrasi dan seeding database (pengisian database) dengan template yang sudah disediakan oleh apiato. Caranya, silakan masuk ke container webserver apiato dengan perintah ini:

docker exec -it f4aef310a717e0537837452c9e40d7be756926c4025986e73473ddc6dec61989 /bin/sh

ganti f4aef310a717e0537837452c9e40d7be756926c4025986e73473ddc6dec61989 dengan nama container kamu.

kemudian masuk ke /var/www dan lakukan migrate/seeding

cd /var/www
php artisan migrate
php artisan db:seed

setelah itu, kita akan membuat user admin yang sudah disediakan, menjadi super admin di platform apiato itu dengan perintah

php artisan apiato:permissions:toRole admin

sekarang, silakan buka browser dan tuju ke alamat port 8000 localhost (atau sesuai yang ada di docker-compose ya).

Silakan coba login ke sana dengan klik tombol login, dan masukkan username: admin@admin.com dan password: admin

langkah terakhir dari instalasi ini adalah membuat encryption key OAuth 2.0 untuk apiato ini. silakan jalankan perintah:

php artisan passport:install

dengan contoh hasil sebagai berikut:


root@f4aef310a717:/var/www# php artisan passport:install
Encryption keys generated successfully.
Personal access client created successfully.
Client ID: 1
Client secret: NLbsaTNxLj0OD2mx8PXaGJTr7k9ShdHZgVw4FjsC
Password grant client created successfully.
Client ID: 2
Client secret: N0R5ivJ4mjE62E8j1EnVfJUTMU0QXoCYsn71BUu1

segitu dulu ya gan, masuk nanti ke Part 2.

Terbaru

  • Ini Ukuran F4 dalam Aplikasi Canva
  • Cara Lapor SPT Tahunan Badan Perdagangan di Coretax 2026
  • Cara Dapetin Saldo DANA Sambil Tidur Lewat Volcano Crash, Terbukti Membayar!
  • Apakah Aplikasi Pinjaman TrustIQ Penipu/Resmi OJK?
  • Cara Menggabungkan Bukti Potong Suami-Istri di Coretax 2026
  • Inilah Cara Cepat Upload Foto Peserta TKA Sekaligus Biar Nggak Perlu Klik Satu Per Satu
  • Apa itu Aplikasi MOVA, Penipuan atau Skema Ponzi Berkedok Aplikasi Belanja?
  • Inilah Cara Menarik Saldo ReelFlick ke DANA
  • Inilah Cara Ternak Akun Mining Bitcoin Pakai Virtual Master Biar Nggak Berat dan Tetap Lancar
  • Cara Mencairkan Koin Melolo Tanpa Invite Kode
  • Cara Mencairkan Saldo Game Sumatra The Island ke e-Wallet
  • Apakah Aplikasi Pinjol AksesDana Penipu/Resmi OJK?
  • Apakah Aplikasi RupiahMaju Pinjol Penipu/Legal?
  • Apakah Aplikasi MBA Itu Ponzi/Penipuan Atau Tidak?
  • Cara Menghilangkan Iklan dari Aplikasi Melolo
  • Cara Atasi Saldo Melolo yang Gagal Cair ke Dompet Digital
  • Cara Mengatasi Kode Undangan/Invite Code Melolo Tidak Berhasil
  • Apakah Aplikasi FreeReels Penipuan?
  • Gini Caranya Nonton Drama Pendek FreeReels dan Dibayar
  • Inilah Panduan Lengkap Persiapan TKA Madrasah 2026 Biar Nggak Ketinggalan!
  • Ini Trik Supaya Gelembung Game Clear Blast Cepat Pecah dan Bisa Withdraw!
  • Cara Main Game Gold Combo, Sampai Cuan ke e-Wallet
  • Update YouTube 2026:Sekilas Tentang Inauthentic Content yang Makin Ketat
  • Inilah Cara Lapor SPT Tahunan di Coretax 2026 Biar Nggak Bingung!
  • Gak Perlu Root! Ini Cara Buka Folder Android/Data Tanpa ZArchiver di HP Android Modern
  • Apa itu ClawdBot?
  • Ini Caranya Lapor SPT Shopee Affiliate Biar Nihil, Nggak Perlu Bingung Lagi!
  • 08559 Nomor Daerah Mana dan Kartu Apa? Ini Penjelasan Lengkapnya!
  • Ini Daftar 8 Keluarga Paling Mengerikan dalam Sejarah, Ada yang Sampai Bikin Dunia Gemetar!
  • Inilah Trik Rahasia Pindahkan Video Melolo ke Galeri Tanpa Aplikasi Tambahan
  • Apa itu Spear-Phishing via npm? Ini Pengertian dan Cara Kerjanya yang Makin Licin
  • Topical Authority Explained: How to Rank Higher and Outsmart Competitors
  • Skills.sh Explained
  • Claudebot Explained: How to Create Your Own 24/7 AI Super Agent for Beginners
  • How to Create Viral Suspense Videos Using AI
  • Contoh Sourcecode OpenAI GPT-3.5 sampai GPT-5
  • Cara Mengubah Model Machine Learning Jadi API dengan FastAPI dan Docker
  • Cara Ubah Tumpukan Invoice Jadi Data JSON dengan LlamaExtract
  • Cara Buat Audio Super Realistis dengan Qwen3-TTS-Flash
  • Tutorial Python Deepseek Math v2
  • Apa itu Spear-Phishing via npm? Ini Pengertian dan Cara Kerjanya yang Makin Licin
  • Apa Itu Predator Spyware? Ini Pengertian dan Kontroversi Penghapusan Sanksinya
  • Mengenal Apa itu TONESHELL: Backdoor Berbahaya dari Kelompok Mustang Panda
  • Siapa itu Kelompok Hacker Silver Fox?
  • Apa itu CVE-2025-52691 SmarterMail? Celah Keamanan Paling Berbahaya Tahun 2025
Beli Morning Star Kursi Gaming/Kantor disini: https://s.shopee.co.id/805iTUOPRV
Beli Pemotong Rumput dengan Baterai IRONHOOF 588V Mesin Potong Rumput 88V disini https://s.shopee.co.id/70DBGTHtuJ

©2026 emka.web.id | Design: Newspaperly WordPress Theme