app logoSearch

Explorer

  • Home Page
Ctrl+Btoggle sidebar
  1. Home
  2. 02 reference notes
  3. topics
  4. method dalam rest api

Method Dalam REST API

Method REST API

Method dalam REST API memiliki fungsi yang berbeda-beda untuk menangani permintaan dari client ke server. Berikut adalah beberapa method utama dalam REST API beserta fungsinya:

1. GET

  • Fungsi: Mengambil data dari server.
  • Contoh: GET /users → Mengambil daftar semua pengguna.

2. POST

  • Fungsi: Mengirim atau menambahkan data baru ke server.
  • Contoh: POST /users dengan body { "name": "John Doe" } → Menambahkan pengguna baru.

3. PUT

  • Fungsi: Memperbarui data yang sudah ada di server secara keseluruhan.
  • Contoh: PUT /users/1 dengan body { "name": "Jane Doe", "email": "jane@example.com" } → Memperbarui semua data pengguna dengan ID 1.

4. PATCH

  • Fungsi: Memperbarui sebagian data yang ada di server.
  • Contoh: PATCH /users/1 dengan body { "email": "jane@example.com" } → Hanya memperbarui email pengguna dengan ID 1.

5. DELETE

  • Fungsi: Menghapus data dari server.
  • Contoh: DELETE /users/1 → Menghapus pengguna dengan ID 1.

6. OPTIONS

  • Fungsi: Menampilkan method yang tersedia untuk suatu resource.
  • Contoh: OPTIONS /users → Memberikan daftar method yang bisa digunakan (GET, POST, PUT, DELETE).

7. HEAD

  • Fungsi: Sama seperti GET, tetapi hanya mengambil header respons tanpa isi body.
  • Contoh: HEAD /users → Mengecek apakah resource ada tanpa mengunduh datanya.

Method ini digunakan dalam berbagai layanan REST API untuk mengelola data secara efisien dan sesuai standar HTTP.

Perbedaan PUT dan PATCH

PUT

  • Mengganti seluruh sumber daya dengan yang baru.
  • Jika suatu properti tidak disertakan dalam permintaan, properti tersebut akan dihapus atau di-reset ke default.
  • Idempotent, artinya jika permintaan yang sama dikirim berkali-kali, hasilnya akan tetap sama.

Contoh: Misalkan ada data pengguna:

{   
	"name": "John Doe",   
	"email": "john@example.com",   
	"age": 30 
}
PUT /users/1 Content-Type: application/json { "name": "Jane Doe", "email": "jane@example.com" }

Maka akan menjadi :

{ "name": "Jane Doe", "email": "jane@example.com" }

Properti age hilang karena tidak disertakan dalam permintaan PUT.

Sedangkan PATCH

  • Memperbarui sebagian data tanpa menghapus yang tidak disebutkan.
  • Bukan idempotent dalam beberapa kasus, karena perubahan bisa bersifat kumulatif.

Contoh: Misalkan ada data pengguna yang sama seperti sebelumnya. Jika kita mengirim permintaan PATCH berikut:

PATCH /users/1 Content-Type: application/json  {   "name": "Jane Doe" }

Maka data pengguna setelah PATCH tetap mempertahankan properti yang ada dan hanya memperbarui name:

{   
	"name": "Jane Doe",   
	"email": "john@example.com",   
	"age": 30 
}

Properti email dan age tetap ada karena PATCH hanya mengganti properti yang disebutkan.

Kesimpulan

AspekPUTPATCH
UpdateSeluruh sumber dayaSebagian sumber daya
IdempotentYaTidak selalu
Data yang tidak dikirimDihapus atau di-resetTetap ada
Digunakan untukMengganti seluruh objekMemodifikasi sebagian data

Gunakan PUT jika ingin mengganti seluruh objek, dan gunakan PATCH jika hanya ingin memperbarui sebagian atribut tanpa menghapus data yang lain.

Graph Not Found

Table of Content

  • Method REST API
    • 1. GET
    • 2. POST
    • 3. PUT
    • 4. PATCH
    • 5. DELETE
    • 6. OPTIONS
    • 7. HEAD
  • Perbedaan PUT dan PATCH
    • PUT
    • Sedangkan PATCH
  • **Kesimpulan**
Ctrl+Vtoggle sidebar