Perbedaan PUT dan PATCH pada Laravel: Panduan Lengkap

Laravel

June 28, 2024

Laravel adalah salah satu framework PHP yang paling populer dan banyak digunakan untuk membangun aplikasi web. Salah satu fitur penting dalam Laravel adalah dukungan untuk berbagai metode HTTP, termasuk PUT dan PATCH. Meskipun keduanya digunakan untuk memperbarui data, ada perbedaan signifikan antara keduanya. Artikel ini akan membahas perbedaan tersebut secara mendetail.


1. Metode HTTP PUT

Metode PUT digunakan untuk memperbarui sumber daya yang ada atau membuat sumber daya baru jika belum ada. PUT menggantikan seluruh data dari sumber daya yang ditentukan dengan data yang diberikan dalam permintaan. Ini berarti bahwa jika Anda menggunakan PUT, Anda harus menyertakan semua atribut dari sumber daya yang ingin Anda perbarui, bukan hanya atribut yang berubah.


Contoh Penggunaan PUT di Laravel:

Route::put('/users/{id}', [UserController::class, 'update']);


Di dalam UserController, metode update dapat diimplementasikan sebagai berikut:

public function update(Request $request, $id)
{
    $user = User::findOrFail($id);
    $user->update($request->all());
    return response()->json($user);
}


2. Metode HTTP PATCH

Metode PATCH digunakan untuk memperbarui sebagian dari sumber daya yang ada. Dengan PATCH, Anda hanya perlu menyertakan atribut yang ingin Anda ubah, bukan seluruh sumber daya. Ini sangat berguna ketika Anda hanya perlu memperbarui satu atau beberapa atribut dari sumber daya tersebut tanpa harus mengirim ulang seluruh data.


Contoh Penggunaan PATCH di Laravel:

Route::patch('/users/{id}', [UserController::class, 'partialUpdate']);


Di dalam UserController, metode partialUpdate dapat diimplementasikan sebagai berikut:

public function partialUpdate(Request $request, $id)
{
    $user = User::findOrFail($id);
    $user->update($request->only(['name', 'email'])); // contoh hanya mengupdate name dan email
    return response()->json($user);
}


Perbedaan Utama

1. Ruang Lingkup Pembaruan:

  • PUT: Mengganti seluruh sumber daya dengan data baru.
  • PATCH: Mengganti sebagian dari sumber daya dengan data baru.

2. Penggunaan:

  • PUT: Digunakan ketika Anda ingin memperbarui semua atribut dari sumber daya atau ketika Anda tidak keberatan mengirimkan seluruh data sumber daya.
  • PATCH: Digunakan ketika Anda hanya ingin memperbarui satu atau beberapa atribut tanpa mengirim ulang seluruh data.

3. Idempotensi:

  • Kedua metode bersifat idempotent, yang berarti bahwa pengulangan permintaan yang sama tidak akan menyebabkan perubahan yang berbeda pada server. Namun, dalam praktiknya, PATCH lebih sering digunakan untuk pembaruan sebagian.


Memahami perbedaan antara metode HTTP PUT dan PATCH sangat penting dalam pengembangan API RESTful dengan Laravel. PUT berguna ketika Anda perlu memperbarui seluruh sumber daya, sementara PATCH lebih efisien untuk pembaruan parsial. Dengan memilih metode yang tepat, Anda dapat membuat API yang lebih efisien dan mudah digunakan.

Laravel PHP PUT PATCH RESTful APIs
kasirin.id