REST använder standard-HTTP-metoder som verben som agerar på resurser. Den vanliga mappningen till CRUD (Create, Read, Update, Delete) är:
REST använder standard-HTTP-metoder som verben som agerar på resurser. Den vanliga mappningen till CRUD (Create, Read, Update, Delete) är:
| CRUD | Method | Typisk användning |
|---|
| Create | POST | Lägg till en ny resurs i en collection |
| Read | GET | Hämta en resurs eller lista |
| Update (full) | PUT | Ersätt en resurs helt |
| Update (partiell) | PATCH | Ändra vissa fält |
| Delete | DELETE | Ta bort en resurs |
POST /users HTTP/1.1
Content-Type: application/json
{ "name": "Ann", "email": "[email protected]" }
HTTP/1.1 201 Created
Location: /users/42
{ "id": 42, "name": "Ann", "email": "[email protected]" }
PUT /users/42 skickar hela representationen och ersätter den; PATCH /users/42 skickar bara fälten som ska ändras (t.ex. { "email": "[email protected]" }).
Dessa är två olika egenskaper:
GET, HEAD, OPTIONS är safe.GET, PUT, DELETE, HEAD är idempotent.Method Safe? Idempotent?
GET yes yes
HEAD yes yes
PUT no yes (replacing with the same body twice = same result)
DELETE no yes (deleting twice = still deleted)
PATCH no no* (depends on the patch; not guaranteed)
POST no no (posting twice usually creates two resources)
Intervjuare frågar detta för att se om du förstår HTTP-semantik väl nog för att bygga tillförlitliga API:er. Skillnaden safe/idempotent är inte akademisk: den styr direkt vad clients, proxyer och CDN:er får göra. Safe-metoder kan cachas och prefetchas fritt; idempotent-metoder kan automatiskt försökas igen efter en network timeout utan risk att duplicera sidoeffekter — vilket är varför en client tryggt kan försöka igen med en PUT eller DELETE men måste vara försiktig med att försöka igen med en POST (den kan skapa två orders). Det klassiska misstaget är att använda GET för att utlösa sidoeffekter (t.ex. GET /users/42/delete), vilket bryter caching och låter crawlers oavsiktligt mutera data. Att välja rätt metod — och respektera dess safety- och idempotency-kontrakt — är vad som gör ett API förutsägbart och säkert att bygga verktyg kring.
Ett bibliotek med IT-intervjufrågor och detaljerade svar — från Junior till Senior.
Donera