Cara Membuat REST API dengan PHP dan MySQL (Lengkap)

REST API memungkinkan aplikasi lain (web, mobile, atau JavaScript) mengambil dan mengirim data ke server Anda dalam format JSON. Ini fondasi aplikasi modern. Artikel ini membahas cara membuat REST API dengan PHP dan MySQL dari nol.

Alur REST API PHP
Alur REST API PHP

Apa Itu REST API?

REST API adalah “pintu” tempat aplikasi lain meminta data lewat URL (endpoint) dengan method HTTP: GET (ambil data), POST (tambah), PUT (ubah), DELETE (hapus). Balasannya berupa JSON.

Langkah 1: Endpoint Dasar (Mengembalikan JSON)

Buat file api.php. Wajib kirim header JSON:

<?php
require "koneksi.php";
header("Content-Type: application/json");

$data = [];
$hasil = $koneksi->query("SELECT id, nama, harga FROM produk");
while ($row = $hasil->fetch_assoc()) {
    $data[] = $row;
}

echo json_encode([
    "status" => "success",
    "data"   => $data
]);
?>

Buka api.php di browser — muncul data dalam bentuk JSON.

Langkah 2: Menangani Method Berbeda

<?php
require "koneksi.php";
header("Content-Type: application/json");

$method = $_SERVER["REQUEST_METHOD"];

if ($method === "GET") {
    // ambil data
    $hasil = $koneksi->query("SELECT * FROM produk");
    echo json_encode($hasil->fetch_all(MYSQLI_ASSOC));

} elseif ($method === "POST") {
    // ambil JSON yang dikirim
    $input = json_decode(file_get_contents("php://input"), true);

    $stmt = $koneksi->prepare("INSERT INTO produk (nama, harga) VALUES (?, ?)");
    $stmt->bind_param("si", $input["nama"], $input["harga"]);
    $stmt->execute();

    http_response_code(201); // 201 = Created
    echo json_encode(["status" => "created", "id" => $koneksi->insert_id]);
}
?>

Langkah 3: Status Code yang Benar

KodeArti
200OK (berhasil)
201Created (data dibuat)
400Bad Request (input salah)
404Not Found
401Unauthorized (butuh login)

Gunakan http_response_code() agar klien tahu hasilnya.

Tips Keamanan API

  • Selalu validasi & prepared statement untuk data yang masuk.
  • Lindungi endpoint sensitif dengan API key atau token (mis. JWT).
  • Batasi CORS bila hanya aplikasi tertentu yang boleh mengakses.

Kesimpulan

Anda telah membuat REST API PHP dan MySQL yang mengembalikan JSON dan menangani berbagai method HTTP dengan status code yang tepat. API ini bisa dikonsumsi oleh aplikasi JavaScript (fetch/AJAX) maupun aplikasi mobile. Untuk produksi, tambahkan autentikasi token dan validasi ketat.

Referensi: untuk pendalaman, kunjungi dokumentasi resmi PHP (php.net).

Baca Juga

Ali Akbar

Software Developer yang fokus mengembangkan aplikasi berbasis Web dan Desktop. Senang mempelajari teknologi baru terutama di bidang web design dan web development.

View all posts by Ali Akbar →

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *