REST standard HTTP methods ને resources પર કાર્ય કરતા verbs તરીકે વાપરે છે. CRUD (Create, Read, Update, Delete) સાથેની સામાન્ય મૅપિંગ છે:
REST standard HTTP methods ને resources પર કાર્ય કરતા verbs તરીકે વાપરે છે. CRUD (Create, Read, Update, Delete) સાથેની સામાન્ય મૅપિંગ છે:
| CRUD | Method | સામાન્ય ઉપયોગ |
|---|
| Create | POST | collection માં નવો resource ઉમેરો |
| Read | GET | resource કે list મેળવો |
| Update (full) | PUT | resource ને સંપૂર્ણ બદલો |
| Update (partial) | 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 હા હા
HEAD હા હા
PUT ના હા (એક જ body વડે બે વાર બદલવું = એ જ પરિણામ)
DELETE ના હા (બે વાર delete = હજુ deleted)
PATCH ના ના* (patch પર આધાર; ખાતરી નથી)
POST ના ના (બે વાર POST સામાન્ય રીતે બે 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 contract નું સન્માન કરવું — એ છે જે API ને અનુમાનિત અને તેની આસપાસ tooling બનાવવા સલામત બનાવે છે.
વિગતવાર જવાબો સાથે IT ઇન્ટરવ્યૂ પ્રશ્નોની લાઇબ્રેરી — જુનિયરથી સિનિયર સુધી.
દાન કરો