Sobes.tech
Junior

Vorbiți despre metoda PUT în API-ul REST.

sobes.tech AI

Răspuns de la AI

Metoda PUT este utilizată pentru a crea sau actualiza o resursă la URI-ul specificat.

Caracteristici cheie:

  • Idempotent: Executarea repetată a aceleiași solicitări PUT cu același corp va duce la aceeași stare a resursei pe server (deși răspunsul serverului poate varia).
  • Înlocuire completă: Solicitarea PUT trimite o reprezentare completă a resursei, înlocuind-o pe cea existentă.
  • Creare sau actualizare: Dacă resursa la URI-ul specificat nu există, PUT o creează. Dacă există, o actualizează. Lipsa resursei la o solicitare PUT de succes duce de obicei la creare, care returnează de obicei statusul 201 Created. Actualizarea unei resurse existente returnează de obicei 200 OK sau 204 No Content (dacă nu există corp în răspuns).

Scenarii de utilizare tipice:

  • Actualizarea completă a profilului utilizatorului.
  • Crearea resursei dacă clientul o definește prin URI.

Exemplu de solicitare PUT:

PUT /users/123 HTTP/1.1
Host: api.example.com
Content-Type: application/json

{
  "id": 123,
  "name": "Nume Nou",
  "email": "new.email@example.com"
}

Serverul va primi această solicitare și va crea utilizatorul cu id=123 sau va înlocui complet informațiile despre utilizatorul cu acest ID cu datele din corpul solicitării.

PUT diferă de POST după cum urmează:

  • PUT este utilizat pentru a actualiza sau crea o resursă pe un URI cunoscut, definit de client. POST este utilizat pentru a crea o resursă, unde serverul definește URI-ul noii resurse, sau pentru alte acțiuni care nu se încadrează în alte metode HTTP.
  • PUT este idempotent, POST nu. Solicitările POST repetate cu același corp pot crea mai multe resurse identice sau pot provoca efecte secundare diferite.

Tabel comparativ PUT și POST:

Caracteristică PUT POST
Scop Crearea sau actualizarea unei resurse Crearea unei resurse, trimiterea datelor
Idempotent Da Nu
Definirea URI De către client De către server
Impact asupra resursei Înlocuiește sau creează complet De obicei adaugă sau efectuează o acțiune