PENGGUNAAN HTTP METHOD PADA REST API - Perwira Learning Center



Latar Belakang

Dalam penerapan REST API, pertukaran data antara client dan server tidak hanya bergantung pada alamat endpoint, tetapi juga pada jenis tindakan yang ingin dilakukan terhadap suatu data. Setiap request harus memiliki makna yang jelas agar server dapat memprosesnya dengan benar. HTTP berperan sebagai protokol utama yang digunakan untuk mengirim request dari client ke server. Tanpa adanya HTTP, REST API tidak dapat menjalankan fungsinya karena tidak memiliki media untuk menyampaikan instruksi maupun data.
HTTP method digunakan untuk menjelaskan jenis permintaan yang dilakukan, seperti mengambil, menambahkan, memperbarui, atau menghapus data. Oleh karena itu, pemahaman mengenai HTTP method menjadi hal yang penting dalam penerapan REST API, karena menentukan bagaimana server merespons setiap request yang dikirim oleh client secara tepat dan terstruktur.

Alat dan Bahan

Alat dan bahan yang digunakan dalam penyusunan artikel ini antara lain:

  1. Laptop
  2. Sistem Operasi Linux Ubuntu 24.04.3 LTS
  3. Web Browser (Google Chrome)
  4. Visual Studio Code
  5. Postman
  6. XAMPP

Apa itu HTTP method?

Metode HTTP digunakan untuk menunjukkan aksi yang ingin dilakukan klien terhadap suatu resource pada API. setiap metode merepresentasikan operasi tertentu, seperti membuat (create), membaca (read), memperbarui (update), atau menghapus (delete) data. karena itu, metode HTTP wajib disertakan dalam setiap permintaan ke REST API agar server memahami tindakan yang diminta.

Peran HTTP Method Dalam REST API

Dalam rest api, http berperan sebagai fondasi utama yang mengatur cara klien dan server saling berkomunikasi. peran terpenting http bukan hanya sebagai jalur pengiriman data, tetapi sebagai mekanisme untuk menentukan aksi yang dilakukan terhadap sebuah resource melalui http method.
HTTP bekerja dengan model request–response dan bersifat stateless. Setiap permintaan yang dikirim klien ke server harus menyertakan http method, karena dari sinilah server memahami maksud permintaan tersebut. tanpa http method, server tidak dapat mengetahui apakah klien ingin mengambil, menambahkan, memperbarui, atau menghapus data.
http method juga menjadi penghubung utama antara endpoint dan tindakan yang dilakukan pada resource tersebut. misalnya, endpoint yang sama dapat digunakan untuk berbagai aksi, tergantung http method yang dipakai seperti GET untuk membaca data, POST untuk membuat data baru, PUT atau PATCH untuk memperbarui data, dan DELETE untuk menghapus data.
dengan demikian, http method merupakan inti dari implementasi rest api. ia memastikan komunikasi antara klien dan server berjalan terstruktur, konsisten, dan sesuai standar, sekaligus membuat api mudah dipahami dan digunakan oleh berbagai aplikasi.

HTTP Method dan Fungsinya

Berikut beberapa HTTP method beserta fungsi dan contoh penggunaannya:

GET

GET digunakan untuk mengambil atau membaca data dari server tanpa mengubah state apapun di server. Method ini adalah yang paling sering digunakan dalam REST API. 
Karakteristik GET yaitu:
  • Safe: Tidak mengubah data di server
  • Idempotent: Memanggil berkali-kali menghasilkan hasil yang sama
  • Cacheable: Response dapat di-cache oleh browser atau proxy
  • Parameter dikirim melalui URL (query string)
  • Tidak memiliki request body
GET digunakan untuk mengambil daftar resource, detail resource tertentu, atau melakukan pencarian dan filtering.
Contoh Endpoint dan Request

# Mengambil semua pengguna
GET /api/users


# Mengambil pengguna dengan ID tertentu
GET /api/users/123

# Mengambil pengguna dengan filter
GET /api/users?status=active&role=admin

# Response (200 OK)
{
"id": 123,
"name": "Budi Santoso",
"email": "budi@example.com",
"role": "admin"
}

POST

POST digunakan untuk membuat resource baru di server atau mengirimkan data untuk diproses.
Karakteristik POST yaitu:
  • Not Safe: Mengubah state di server
  • Not Idempotent: Memanggil berkali-kali dapat membuat multiple resource
  • Data dikirim melalui request body (biasanya JSON)
  • Response biasanya mengembalikan resource yang baru dibuat
  • Status code umum: 201 Created
POST digunakan untuk membuat user baru, menambahkan produk ke keranjang, membuat pesanan, atau submit form.
Contoh Endpoint dan Request

# Membuat pengguna baru
POST /api/users
Content-Type: application/json


# Request Body
{
"name": "Siti Nurhaliza",
"email": "siti@example.com",
"password": "securepass123",
"role": "user"
}

# Response (201 Created)
{
"id": 124,
"name": "Siti Nurhaliza",
"email": "siti@example.com",
"role": "user",
"created_at": "2024-02-06T10:30:00Z"
}

PUT

Fungsi Utama
PUT digunakan untuk mengubah atau mengganti resource secara keseluruhan. Jika resource tidak ada, PUT dapat membuat resource baru (meskipun ini opsional dalam implementasi).
Karakteristik PUT diantaranya:
  • Not Safe: Mengubah state di server
  • Idempotent: Memanggil berkali-kali dengan data sama menghasilkan state yang sama
  • Mengganti seluruh resource dengan data yang dikirim
  • Client harus mengirim semua field, bukan hanya yang berubah
  • Status code umum: 200 OK atau 204 No Content
PUT digunakan ketika Anda ingin mengganti data user secara lengkap, update setting konfigurasi, atau replace document.
Contoh Endpoint dan Request

# Update pengguna secara lengkap
PUT /api/users/124
Content-Type: application/json


# Request Body (semua field harus disertakan)
{
"name": "Siti Nurhaliza",
"email": "siti.new@example.com",
"role": "admin",
"status": "active"
}

# Response (200 OK)
{
"id": 124,
"name": "Siti Nurhaliza",
"email": "siti.new@example.com",
"role": "admin",
"status": "active",
"updated_at": "2024-02-06T11:00:00Z"
}

PATCH

PATCH digunakan untuk mengubah sebagian field dari resource yang ada, tanpa harus mengirim seluruh data.
Karakteristik PATCH antara lain:
  • Not Safe: Mengubah state di server
  • Not Idempotent (dalam spec, namun dalam praktik sering diimplementasikan sebagai idempotent)
  • Hanya mengirim field yang ingin diubah
  • Lebih efisien untuk update partial
  • Status code umum: 200 OK
PATCH ideal untuk update status, mengubah satu atau beberapa field saja, atau toggle feature flag.
Contoh Endpoint dan Request

# Update sebagian data pengguna
PATCH /api/users/124
Content-Type: application/json


# Request Body (hanya field yang berubah)
{
"status": "inactive"
}

# Response (200 OK)
{
"id": 124,
"name": "Siti Nurhaliza",
"email": "siti.new@example.com",
"role": "admin",
"status": "inactive",
"updated_at": "2024-02-06T11:15:00Z"
}

DELETE

DELETE digunakan untuk menghapus resource dari server.
Karakteristik DELETE yaitu:
  • Not Safe: Mengubah state di server
  • Idempotent: Menghapus resource yang sama berkali-kali menghasilkan state yang sama (resource tetap tidak ada)
  • Biasanya tidak memiliki request body
  • Status code umum: 204 No Content atau 200 OK
DELETE digunakan untuk menghapus user account, menghapus post, remove item dari cart, atau cancel order.
Contoh Endpoint dan Request

# Menghapus pengguna
DELETE /api/users/124


# Response (204 No Content)
# (tidak ada response body)

# Atau Response (200 OK) dengan pesan
{
"message": "User successfully deleted",
"deleted_id": 124
}

HEAD

HEAD identik dengan GET, tetapi server hanya mengirim header tanpa response body. Method ini digunakan untuk mendapatkan metadata tentang resource.
Karakteristik HEAD antara lain:
  • Safe: Tidak mengubah data di server
  • Idempotent: Selalu menghasilkan hasil yang sama
  • Tidak ada response body
  • Berguna untuk checking keberadaan resource atau mendapatkan metadata
HEAD digunakan untuk check apakah file exists, memeriksa last-modified date, atau validasi sebelum download besar.
Contoh Endpoint dan Request

# Check apakah user exists dan dapatkan metadata
HEAD /api/users/123


# Response Headers (200 OK)
Content-Type: application/json
Content-Length: 250
Last-Modified: Tue, 06 Feb 2024 10:30:00 GMT
ETag: "abc123"

# (tidak ada response body)

OPTIONS

OPTIONS digunakan untuk mengetahui method HTTP apa saja yang didukung oleh server untuk endpoint tertentu. Method ini sangat penting dalam CORS (Cross-Origin Resource Sharing).
Karakteristik OPTIONS diantaranya:
  • Safe: Tidak mengubah data di server
  • Idempotent: Selalu menghasilkan hasil yang sama
  • Mengembalikan informasi tentang komunikasi yang diperbolehkan
  • Penting untuk preflight request dalam CORS
OPTIONS digunakan dalam CORS preflight checks, API discovery, atau mendapatkan dokumentasi endpoint capabilities.
Contoh Endpoint dan Request

# Mengetahui method yang tersedia untuk endpoint users
OPTIONS /api/users


# Response (200 OK)
Allow: GET, POST, HEAD, OPTIONS
Access-Control-Allow-Methods: GET, POST, PUT, DELETE
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: Content-Type, Authorization


Daftar Pustaka


AWS.(n.d). What is an API (Application Programming Interface)?Diakses pada 4 Februari 2026, darhttps://aws.amazon.com/what-is/api/

Kemal, Taufik. (2023, 3 Februari). Belajar Express #5 — Apa itu HTTP method dan routes.

Valley, Matt. (2021, 1 Desember). 9 HTTP Methods and How to Use Them. Diakses pada 4 Februari 2026, dari https://testfully.io/blog/http-methods/