Laravel

Membuat REST API dengan Laravel dari Nol

Dari rute sampai respons JSON yang rapi: kita buat API produk sederhana lengkap dengan validasi.

C Codesakura 3分 コメント3件

目次

REST API adalah cara aplikasi lain (aplikasi mobile, frontend React, atau layanan pihak ketiga) berbicara dengan aplikasimu. Di bagian ini kita membuat API produk sederhana: melihat daftar, menambah, dan menghapus.

Menyiapkan rute

Laravel menyediakan Route::apiResource yang membuat semua rute CRUD sekaligus. Tambahkan di routes/api.php:

use App\Http\Controllers\Api\ProductController;

Route::apiResource('products', ProductController::class);

Membuat controller

Controller cukup mengembalikan model. Laravel mengubahnya menjadi JSON secara otomatis.

public function index()
{
  return Product::latest()->paginate(20);
}

public function store(Request $request)
{
  $data = $request->validate([
    'name' => ['required', 'string', 'max:160'],
    'price' => ['required', 'integer', 'min:0'],
  ]);

  return Product::create($data);
}

Kenapa validasi di awal?

Data yang tidak lolos validasi langsung ditolak dengan kode 422 beserta pesan untuk tiap kolom, jadi kode di bawahnya hanya menerima data yang sudah benar.

Mencoba API

Jalankan server lalu panggil dari terminal:

php artisan serve
curl http://127.0.0.1:8000/api/products
Biasakan mencoba setiap endpoint begitu selesai ditulis. Lebih mudah mencari salah di satu endpoint daripada di sepuluh.

Langkah berikutnya

API ini masih terbuka untuk siapa saja. Di bagian berikutnya kita menambahkan autentikasi token supaya hanya pengguna terdaftar yang bisa menambah produk.

シリーズの一部

Laravel dari Nol
  1. 1Menyiapkan Proyek Laravel Pertamamu
  2. 2Mengenal Routing dan Controller di Laravel
  3. 3Membuat REST API dengan Laravel dari Nol
共有 X Facebook WhatsApp Telegram

コメント3件

コメントするにはログインしてください。 ログイン

D

Dewi S.

Ditunggu lanjutannya.

R

Rizky A.

Penjelasannya runtut, langsung saya coba dan jalan. Terima kasih!

C

Codesakura 著者

Senang bisa membantu. Kalau ada yang macet, tulis saja di sini.

関連チュートリアル

Laravel

Mengenal Routing dan Controller di Laravel

2分 シリーズ · 第2回(全3回)

Laravel

Menyiapkan Proyek Laravel Pertamamu

1分 シリーズ · 第1回(全3回)

Laravel

Upload File yang Aman di Laravel

2分