HTTP Method menentukan aksi yang ingin dilakukan terhadap resource.
4 method utama (CRUD):
| Method | Aksi | Contoh |
|---|---|---|
| GET | Ambil data | Lihat daftar produk |
| POST | Buat data baru | Tambah produk baru |
| PUT | Update data | Edit info produk |
| DELETE | Hapus data | Hapus produk |
Analogi:
- GET = "Tolong ambilkan buku itu"
- POST = "Tolong simpan buku baru ini"
- PUT = "Tolong ganti sampul buku ini"
- DELETE = "Tolong buang buku ini"
Method tambahan:
| Method | Keterangan |
|---|---|
| PATCH | Update sebagian data (beda dengan PUT yang update semua) |
| HEAD | Sama seperti GET tapi tanpa body (cek apakah resource ada) |
| OPTIONS | Tanya method apa yang didukung |
PUT vs PATCH:
PUT /users/1 → Kirim SEMUA field (replace)
{ "name": "Budi", "email": "[email protected]", "age": 26 }
PATCH /users/1 → Kirim field yang berubah saja (partial update)
{ "age": 26 }
Idempotent:
- GET, PUT, DELETE = idempotent (bisa dipanggil berulang, hasil sama)
- POST = TIDAK idempotent (setiap panggilan buat data baru)