REST resource-এর ওপর কাজ করা verb হিসেবে standard HTTP method ব্যবহার করে। CRUD (Create, Read, Update, Delete)-এ সাধারণ mapping হলো:
REST resource-এর ওপর কাজ করা verb হিসেবে standard HTTP method ব্যবহার করে। CRUD (Create, Read, Update, Delete)-এ সাধারণ mapping হলো:
| CRUD | Method | সাধারণ ব্যবহার |
|---|
| Create | POST | একটি collection-এ নতুন resource যোগ করা |
| Read | GET | একটি resource বা list আনা |
| Update (পূর্ণ) | PUT | একটি resource সম্পূর্ণ প্রতিস্থাপন |
| Update (আংশিক) | PATCH | কিছু field পরিবর্তন |
| 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 শুধু পরিবর্তনযোগ্য field-গুলো পাঠায় (যেমন { "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)
Interviewer-রা এটি জিজ্ঞেস করেন দেখতে আপনি নির্ভরযোগ্য API বানানোর মতো যথেষ্ট ভালোভাবে HTTP semantics বোঝেন কিনা। safe/idempotent পার্থক্য একাডেমিক নয়: এটি সরাসরি নিয়ন্ত্রণ করে client, proxy, আর CDN কী করার অনুমতি পায়। Safe method অবাধে cache আর prefetch করা যায়; idempotent method একটি network timeout-এর পর side effect নকল হওয়ার ঝুঁকি ছাড়াই স্বয়ংক্রিয়ভাবে retry করা যায় — সেজন্যই একটি client নিরাপদে একটি PUT বা DELETE retry করতে পারে কিন্তু একটি POST retry করতে সাবধান হতে হয় (এটি দুটি order তৈরি করতে পারে)। ক্লাসিক ভুল হলো side effect ট্রিগার করতে GET ব্যবহার করা (যেমন GET /users/42/delete), যা caching ভাঙে এবং crawler-কে ভুলবশত data mutate করতে দেয়। সঠিক method বেছে নেওয়া — এবং তার safety ও idempotency contract সম্মান করা — এটাই একটি API-কে অনুমেয় এবং তার চারপাশে tooling বানানোর জন্য নিরাপদ করে।
বিস্তারিত উত্তরসহ IT ইন্টারভিউ প্রশ্নের একটি লাইব্রেরি — জুনিয়র থেকে সিনিয়র পর্যন্ত।
দান করুন