Junior
Povězte nám o metodě PUT v REST API.
sobes.tech AI
Odpověď od AI
Metoda PUT se používá k vytvoření nebo aktualizaci zdroje na uvedené URI.
Klíčové vlastnosti:
- Idempotence: Opakování stejné žádosti PUT se stejným tělem povede ke stejnému stavu zdroje na serveru (ačkoli odpověď serveru se může lišit).
- Kompletní nahrazení: Žádost PUT posílá úplnou reprezentaci zdroje, která nahradí stávající.
- Vytvoření nebo aktualizace: Pokud zdroj na uvedené URI neexistuje, PUT ho vytvoří. Pokud existuje, aktualizuje ho. Úspěšná žádost PUT obvykle vrací stav 201 Created, pokud zdroj nebyl dříve, nebo 200 OK či 204 No Content, pokud byl aktualizován.
Typické scénáře použití:
- Kompletní aktualizace uživatelského profilu.
- Vytvoření zdroje, pokud klient určí jeho URI.
Příklad žádosti PUT:
PUT /users/123 HTTP/1.1
Host: api.example.com
Content-Type: application/json
{
"id": 123,
"name": "Nové Jméno",
"email": "new.email@example.com"
}
Server obdrží tuto žádost a buď vytvoří uživatele s ID=123, nebo úplně nahradí informace o uživateli s tímto ID daty z těla žádosti.
PUT se liší od POST tím, že:
- PUT se používá k aktualizaci nebo vytvoření zdroje na známé URI, které určuje klient. POST se používá k vytvoření zdroje, kde server určuje URI nového zdroje, nebo pro jiné akce, které nezapadají do jiných HTTP metod.
- PUT je idempotentní, POST nikoliv. Opakované POST požadavky se stejným tělem mohou vytvořit více stejných zdrojů nebo způsobit různé vedlejší efekty.
Porovnávací tabulka PUT a POST:
| Vlastnost | PUT | POST |
|---|---|---|
| Účel | Vytvoření nebo aktualizace zdroje | Vytvoření zdroje, odeslání dat |
| Idempotence | Ano | Ne |
| Definice URI | Klientem určené | Serverem |
| Vliv na zdroj | Kompletně nahrazuje nebo vytváří | Obvykle přidává nebo provádí akci |