REST resources वर क्रिया करणारे verbs म्हणून standard HTTP methods वापरते. CRUD (Create, Read, Update, Delete) शी सामान्य मॅपिंग असे:
REST resources वर क्रिया करणारे verbs म्हणून standard HTTP methods वापरते. CRUD (Create, Read, Update, Delete) शी सामान्य मॅपिंग असे:
| CRUD | Method | सामान्य वापर |
|---|
| Create | POST | Collection मध्ये नवे resource जोडा |
| Read | GET | एक resource किंवा यादी मिळवा |
| Update (पूर्ण) | PUT | Resource संपूर्णपणे बदला |
| Update (आंशिक) | PATCH | काही fields सुधारा |
| Delete | DELETE | 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 संपूर्ण representation पाठवते आणि ते बदलते; PATCH /users/42 फक्त बदलायची fields पाठवते (उदा. { "email": "[email protected]" }).
हे दोन वेगळे गुणधर्म आहेत:
GET, HEAD, OPTIONS safe आहेत.GET, PUT, DELETE, HEAD 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)
Interviewers हे पाहण्यासाठी विचारतात की विश्वासार्ह APIs बनवण्याइतपत तुम्हाला HTTP semantics समजतात का. Safe/idempotent फरक शैक्षणिक नाही: तो clients, proxies, आणि CDNs ना काय करण्याची परवानगी आहे हे थेट ठरवतो. Safe methods मुक्तपणे cache आणि prefetch करता येतात; idempotent methods network timeout नंतर side effects दुप्पट होण्याच्या धोक्याशिवाय आपोआप retry करता येतात — म्हणूनच client PUT किंवा DELETE सुरक्षितपणे retry करू शकतो पण POST retry करताना सावध असले पाहिजे (ते दोन orders तयार करू शकते). Classic चूक म्हणजे side effects ट्रिगर करण्यासाठी GET वापरणे (उदा. GET /users/42/delete), ज्याने caching मोडते आणि crawlers चुकून data बदलू शकतात. योग्य method निवडणे — आणि त्याचा safety व idempotency करार पाळणे — हेच API ला अंदाज लावता येण्याजोगे आणि त्याभोवती tooling बनवण्यास सुरक्षित बनवते.
सविस्तर उत्तरांसह IT मुलाखत प्रश्नांचे ग्रंथालय — Junior पासून Senior पर्यंत.
देणगी द्या