Sobes.tech
Middle

Ποια είναι η διαφορά μεταξύ PUT και PATCH στο REST API;

sobes.tech AI

Απάντηση από AI

Στο REST API, οι μέθοδοι PUT και PATCH χρησιμοποιούνται για την ενημέρωση πόρων, αλλά διαφέρουν ως προς το νόημα και τη συμπεριφορά:

  • PUT — πλήρης ενημέρωση του πόρου. Όταν καλείται το PUT, ο πελάτης στέλνει μια πλήρη αναπαράσταση του πόρου, και ο διακομιστής αντικαθιστά τον υπάρχοντα πόρο με αυτήν που αποστέλλεται. Αν κάποια πεδία δεν καθοριστούν, συνήθως διαγράφονται ή αφαιρούνται.

  • PATCH — μερική ενημέρωση του πόρου. Ο πελάτης στέλνει μόνο τα πεδία που πρέπει να αλλάξουν, και ο διακομιστής ενημερώνει μόνο αυτά, αφήνοντας τα υπόλοιπα αμετάβλητα.

Παράδειγμα:

PUT /users/123
{
  "name": "Ivan",
  "email": "ivan@example.com"
}

Θα αντικαταστήσει ολόκληρο το προφίλ του χρήστη.

PATCH /users/123
{
  "email": "new_email@example.com"
}

Θα ενημερώσει μόνο το email, τα υπόλοιπα δεδομένα θα παραμείνουν ίδια.