Advertisement

REST API dengan PHP: Dari Nol Sampai Ngoding Tanpa Galau

 

 Halo, calon master REST API! Pernah dengar istilah REST API, tapi ngerasa kayak dengar obrolan alien? Jangan panik! REST API itu sebenarnya sesederhana nyuruh orang beli martabak: kamu kasih instruksi, dia balik bawa martabak. Kalau ngerti konsep ini, kamu udah separuh jalan jadi jago REST API di PHP.

1. Apa Itu REST API?

REST API (Representational State Transfer Application Programming Interface) adalah cara elegan untuk membuat aplikasi kamu bisa ngobrol sama aplikasi lain.

Bayangin kamu bikin aplikasi yang pengen tanya kabar ke database, seperti:

  • Kamu: "Hei, database, kasih aku semua data user, dong!"
  • Database: "Nih, ambil!"

REST API adalah si tukang pos yang bikin komunikasi ini berjalan mulus.

2. HTTP Method: Bahasa REST API

REST API pakai bahasa HTTP method buat ngobrol. Singkatnya:

  • GET: "Bisa kasih saya data?"
  • POST: "Saya mau kirim data baru, nih!"
  • PUT: "Eh, data ini diperbarui, ya."
  • DELETE: "Hapus data ini, dong!"

Jadi kalau REST API itu manusia, dia bakal jadi orang yang selalu minta tolong dengan sangat spesifik.

3. Komponen Penting REST API di PHP

Sebelum ngoding, siapkan mental dan tools:

  • PHP: Pastinya, dong.
  • Server Lokal: Pakai XAMPP, Laragon, atau MAMP.
  • Postman: Aplikasi wajib buat ngecek API kamu. Postman itu ibarat "detektif" buat debugging REST API.

4. Langkah-Langkah Membuat REST API di PHP

a. Buat File PHP untuk REST API

Misalnya, bikin file api.php. Jangan lupa panggil fungsi berikut:

<?php
header("Content-Type: application/json"); // Biar outputnya JSON, bukan drama.
header("Access-Control-Allow-Origin: *"); // Biar bisa diakses siapa saja.
?>

Kenapa JSON? Karena lebih rapi dan enak dilihat. Bandingin aja: data JSON itu kayak piring bersih, sedangkan XML itu kayak piring penuh kuah tumpah.

b. Gunakan Method HTTP untuk Aksi Tertentu

Tambahkan logika sederhana untuk menangkap HTTP method:

<?php
$requestMethod = $_SERVER["REQUEST_METHOD"];

if ($requestMethod == "GET") {
    echo json_encode(["message" => "Kamu pakai GET, datanya di sini!"]);
} elseif ($requestMethod == "POST") {
    echo json_encode(["message" => "Data baru diterima lewat POST!"]);
} else {
    echo json_encode(["message" => "Metode belum didukung, bro."]);
}
?>

c. Koneksi ke Database

Kalau REST API tanpa database itu kayak bikin warung tanpa barang jualan. Koneksi dulu, yuk!

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "my_database";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die(json_encode(["error" => "Koneksi gagal: " . $conn->connect_error]));
}
?>

d. Implementasikan Operasi CRUD

GET: Baca Data
Ambil semua data dari database.

if ($requestMethod == "GET") {
    $sql = "SELECT * FROM users";
    $result = $conn->query($sql);

    $data = [];
    while ($row = $result->fetch_assoc()) {
        $data[] = $row;
    }
    echo json_encode($data);
}

POST: Tambah Data Baru
Tambahkan data user ke database.

if ($requestMethod == "POST") {
    $input = json_decode(file_get_contents("php://input"), true);
    $name = $input["name"];
    $email = $input["email"];

    $sql = "INSERT INTO users (name, email) VALUES ('$name', '$email')";
    if ($conn->query($sql) === TRUE) {
        echo json_encode(["message" => "Data berhasil ditambahkan!"]);
    } else {
        echo json_encode(["error" => "Gagal menambahkan data."]);
    }
}

PUT: Update Data
Perbarui data yang ada.

if ($requestMethod == "PUT") {
    $input = json_decode(file_get_contents("php://input"), true);
    $id = $input["id"];
    $name = $input["name"];
    $email = $input["email"];

    $sql = "UPDATE users SET name='$name', email='$email' WHERE id=$id";
    if ($conn->query($sql) === TRUE) {
        echo json_encode(["message" => "Data berhasil diperbarui!"]);
    } else {
        echo json_encode(["error" => "Gagal memperbarui data."]);
    }
}

DELETE: Hapus Data
Hapus data berdasarkan ID.

if ($requestMethod == "DELETE") {
    $input = json_decode(file_get_contents("php://input"), true);
    $id = $input["id"];

    $sql = "DELETE FROM users WHERE id=$id";
    if ($conn->query($sql) === TRUE) {
        echo json_encode(["message" => "Data berhasil dihapus!"]);
    } else {
        echo json_encode(["error" => "Gagal menghapus data."]);
    }
}

5. Testing API Kamu: Postman Adalah Temanmu

Download Postman, lalu:

  1. Pilih HTTP method (GET, POST, PUT, DELETE).
  2. Masukkan URL API kamu (contoh: http://localhost/api.php).
  3. Kirim data (untuk POST, PUT, DELETE).
  4. Klik Send, dan lihat hasilnya. Kalau sukses, saatnya kamu nari kecil.

6. Tips Tambahan untuk REST API yang Mantap

  • Gunakan Status Code HTTP yang Tepat:
    Jangan cuma kirim JSON doang, tambahkan status code biar lebih profesional:
    • 200: OK.
    • 201: Created.
    • 400: Bad Request.
    • 404: Not Found.
    • 500: Internal Server Error.
http_response_code(200); // Contoh penggunaan
  • Validasi Input: Jangan biarkan data ngawur masuk ke database.

7. Kesimpulan: PHP + REST API = Super Power

REST API bikin aplikasi kamu jadi modern, fleksibel, dan siap diintegrasikan ke mana saja, dari aplikasi mobile sampai smartwatch! Dengan PHP, bikin REST API itu sebenarnya simpel—asal kamu tahu cara mainnya.

Jadi, jangan takut sama REST API. Dia nggak seram kok, asal kamu tahu cara ngobrolnya. Selamat mencoba, dan semoga API kamu jadi idola developer lain!

 

Post a Comment

0 Comments