SavefileArchive
USD/IDR ...
|
BTC ...
|
ETH ...
|
GOLD/gram ...
Terbaru
SavefileArchive — Tutorial coding, tips programming, dan dunia musik untuk developer & pecinta musik Indonesia

Memahami REST API: Panduan Lengkap untuk Developer Pemula

Apa Itu API dan REST?

API (Application Programming Interface) adalah cara dua aplikasi berkomunikasi satu sama lain. Bayangkan API seperti pelayan di restoran — kamu (frontend) memesan ke pelayan (API), pelayan menyampaikan ke dapur (backend), lalu membawa makanan (data) kembali ke mejamu.

REST adalah gaya arsitektur untuk membuat API yang menggunakan HTTP — protokol yang sama dengan yang dipakai browser untuk mengakses website. API yang mengikuti prinsip REST disebut RESTful API.

HTTP Methods yang Wajib Diketahui

  • GET — Mengambil data. Contoh: ambil daftar artikel
  • POST — Mengirim/membuat data baru. Contoh: buat akun baru
  • PUT — Update data secara penuh. Contoh: edit profil
  • PATCH — Update sebagian data. Contoh: ganti hanya foto profil
  • DELETE — Hapus data. Contoh: hapus postingan

Struktur URL REST API

URL di REST API harus menggunakan kata benda (noun), bukan kata kerja:

✓ GET    /api/users          — ambil semua user
✓ GET    /api/users/123      — ambil user dengan ID 123
✓ POST   /api/users          — buat user baru
✓ PUT    /api/users/123      — update user 123
✓ DELETE /api/users/123      — hapus user 123

✗ GET    /api/getUsers       — salah, pakai kata kerja
✗ POST   /api/createUser     — salah, pakai kata kerja

HTTP Status Code yang Sering Muncul

  • 200 OK — Request berhasil
  • 201 Created — Data berhasil dibuat
  • 400 Bad Request — Request tidak valid
  • 401 Unauthorized — Butuh autentikasi
  • 403 Forbidden — Tidak punya izin akses
  • 404 Not Found — Data tidak ditemukan
  • 500 Internal Server Error — Ada error di server

Membuat REST API Sederhana dengan Python Flask

from flask import Flask, jsonify, request

app = Flask(__name__)

# Data sementara (in-memory)
users = [
    {"id": 1, "nama": "Budi", "email": "budi@email.com"},
    {"id": 2, "nama": "Ani", "email": "ani@email.com"},
]

# GET semua user
@app.route("/api/users", methods=["GET"])
def get_users():
    return jsonify(users)

# GET user berdasarkan ID
@app.route("/api/users/", methods=["GET"])
def get_user(user_id):
    user = next((u for u in users if u["id"] == user_id), None)
    if user:
        return jsonify(user)
    return jsonify({"error": "User tidak ditemukan"}), 404

# POST buat user baru
@app.route("/api/users", methods=["POST"])
def create_user():
    data = request.json
    new_user = {
        "id": len(users) + 1,
        "nama": data["nama"],
        "email": data["email"]
    }
    users.append(new_user)
    return jsonify(new_user), 201

if __name__ == "__main__":
    app.run(debug=True)

Test API dengan Postman atau curl

Setelah API berjalan, test dengan curl di terminal:

# GET semua user
curl http://localhost:5000/api/users

# POST buat user baru
curl -X POST http://localhost:5000/api/users \
  -H "Content-Type: application/json" \
  -d '{"nama":"Citra","email":"citra@email.com"}'

Atau gunakan Postman — aplikasi GUI yang lebih mudah untuk testing API.

Format Response yang Baik

Selalu kembalikan response yang konsisten dan informatif:

# Response sukses
{
  "status": "success",
  "data": { ... },
  "message": "Data berhasil diambil"
}

# Response error
{
  "status": "error",
  "message": "User tidak ditemukan",
  "code": 404
}

Penutup

REST API adalah fondasi dari hampir semua aplikasi modern. Setelah memahami konsep ini, kamu bisa membangun backend untuk website, aplikasi mobile, atau bahkan menghubungkan berbagai layanan secara otomatis.

Langkah selanjutnya: pelajari autentikasi API dengan JWT (JSON Web Token) dan cara menyimpan data ke database agar API kamu tidak hanya menyimpan data di memori.