REST përdor HTTP methods standarde si foljet që veprojnë mbi resources. Përputhja e zakonshme me CRUD (Create, Read, Update, Delete) është:
REST përdor HTTP methods standarde si foljet që veprojnë mbi resources. Përputhja e zakonshme me CRUD (Create, Read, Update, Delete) është:
| CRUD | Method | Përdorimi tipik |
|---|
| Create | POST | Shto një resource të ri në një collection |
| Read | GET | Merr një resource ose listë |
| Update (i plotë) | PUT | Zëvendëso një resource tërësisht |
| Update (i pjesshëm) | PATCH | Modifiko disa fusha |
| Delete | DELETE | Hiq një resource |
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 dërgon të gjithë representation-in dhe e zëvendëson atë; PATCH /users/42 dërgon vetëm fushat që duhen ndryshuar (p.sh. { "email": "[email protected]" }).
Këto janë dy veti të ndryshme:
GET, HEAD, OPTIONS janë safe.GET, PUT, DELETE, HEAD janë 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)
Intervistuesit e pyesin këtë për të parë nëse i kupton semantikat e HTTP-së mjaftueshëm mirë sa për të ndërtuar API të besueshme. Dallimi safe/idempotent nuk është akademik: ai rregullon drejtpërdrejt çfarë u lejohet të bëjnë client-ëve, proxy-ve, dhe CDN-ve. Metodat safe mund të cache-ohen dhe prefetch-ohen lirisht; metodat idempotent mund të ribëhen (retry) automatikisht pas një network timeout pa rrezikun e dyfishimit të efekteve anësore — prandaj një client mund të ribëjë me siguri një PUT ose DELETE por duhet të jetë i kujdesshëm kur ribën një POST (mund të krijojë dy orders). Gabimi klasik është përdorimi i GET për të shkaktuar efekte anësore (p.sh. GET /users/42/delete), gjë që e prish caching-un dhe lejon crawler-at të ndryshojnë të dhëna aksidentalisht. Zgjedhja e metodës së duhur — dhe respektimi i kontratës së saj për safety dhe idempotency — është ajo që e bën një API të parashikueshëm dhe të sigurt për të ndërtuar tooling përreth.
Një bibliotekë pyetjesh intervistash IT me përgjigje të detajuara — nga Junior te Senior.
Dhuro