Junior
Pastāstiet mums par PUT metodi REST API.
sobes.tech AI
Atbilde no AI
PUT metode tiek izmanto, lai izveidotu vai atjauninātu resursu norētajā URI.
Galvenās īpašības:
- Idempotentība: Vienu un to pašu PUT pieprasījumu ar to pašu ķermeni atkārtojot, tiks sasniegts tas pats resursa stāvoklis serverī (lai gan servera atbilde var atšķirties).
- Pilnīga aizvietošana: PUT pieprasījums nosūta pilnīgu jaunu resursa reprezentāciju, aizvietojot esošo.
- Izveide vai atjaunināšana: Ja norādītajā URI resursu neeksistē, PUT to izveido. Ja tas pastāv — atjaunina. Veiksmīga PUT pieprasījuma rezultātā resurs, kas neeksistēja, tiek izveidots, parasti atgriežot statusu 201 Created. Esoša resursa atjaunināšana parasti atgriež 200 OK vai 204 No Content (ja atbildei nav ķermeņa).
Tipiski lietošanas scenāriji:
- Pilna lietotāja profila atjaunināšana.
- Resursa izveide, ja klients nosaka tā URI.
PUT pieprasījuma piemērs:
PUT /users/123 HTTP/1.1
Host: api.example.com
Content-Type: application/json
{
"id": 123,
"name": "Jauns Vārds",
"email": "new.email@example.com"
}
Serveris saņems šo pieprasījumu un vai nu izveidos lietotāju ar id=123, vai pilnībā aizstās ar šiem datiem lietotāja informāciju ar šo ID.
PUT atšķiras no POST šādi:
- PUT tiek izmantots resursa atjaunināšanai vai izveidei zināmā URI — pēc klienta norādīta. POST tiek izmantots resursa izveidei, kurā serveris nosaka jauna resursa URI, vai citām darbībām, kas nepieder pie citiem HTTP metodēm.
- PUT ir idempotents, POST — nav. Vienu un to pašu ķermeni atkārtojot, var tikt izveidoti vairāki vienādi resursi vai radīti dažādi blakus efekti.
Salīdzinājuma tabula PUT un POST:
| Raksturlielums | PUT | POST |
|---|---|---|
| Mērķis | Resursa izveide vai atjaunināšana | Resursa izveide, datu sūtīšana |
| Idempotentība | Jā | Nē |
| URI noteikšana | Klienta noteikta | Servera noteikta |
| Ietekme uz resursu | Pilnīga aizvietošana vai izveide | Parasti pievienošana vai darbības izpilde |