একটি resource URI একটি action নয়, বরং একটি জিনিসের দিকে noun-ভিত্তিক path-এর মতো পড়া উচিত। HTTP method ইতিমধ্যে verb সরবরাহ করে, তাই URI-কে শুধু resource-টি পরিষ্কার ও সামঞ্জস্যপূর্ণভাবে শনাক্ত করতে হয়।
একটি resource URI একটি action নয়, বরং একটি জিনিসের দিকে noun-ভিত্তিক path-এর মতো পড়া উচিত। HTTP method ইতিমধ্যে verb সরবরাহ করে, তাই URI-কে শুধু resource-টি পরিষ্কার ও সামঞ্জস্যপূর্ণভাবে শনাক্ত করতে হয়।
GET /users/42 — GET /getUser?id=42 নয়। Method (GET) হলো verb।/users হলো collection; /users/42 হলো একটি member। সর্বত্র plural রাখলে এটি অনুমেয় থাকে।/users/42/orders = "user 42-এর অন্তর্গত order"।kebab-case, lowercase ব্যবহার করুন। /blog-posts, /blogPosts বা /Blog_Posts নয়।/users?role=admin&sort=-created_at।/users collection of users
/users/42 a single user
/users/42/orders orders belonging to user 42 (sub-collection)
/users/42/orders/1001 a specific order of that user
/orders/1001 same order, addressable at top level too
GET /users/42/orders?status=shipped&sort=-created_at&page=2 HTTP/1.1
Accept: application/json
এক-দুই স্তরের বেশি গভীর nesting এড়ান — /users/42/orders/1001/items/5/reviews ভঙ্গুর হয়ে যায়। একবার একটি order-এর নিজস্ব ID হয়ে গেলে, /orders/1001 পছন্দ করুন। CRUD-এ না মেলা action-এর জন্য (যেমন "send email"), একটি controller-ধরনের sub-resource গ্রহণযোগ্য: POST /users/42/verify-email।
সামঞ্জস্যপূর্ণ naming-ই একটি API-কে স্বজ্ঞাত করে তোলে — যে developer /users আর /users/42 দেখেছে সে docs না পড়েই সঠিকভাবে /products আর /products/99 অনুমান করতে পারে। Interviewer-রা এটি ব্যবহার করেন মাপতে আপনি RPC call (/doThisThing)-এর বদলে resource-এ (REST মানসিকতা) ভাবেন কিনা। সবচেয়ে সাধারণ anti-pattern — path-এ verb, অসামঞ্জস্যপূর্ণ pluralization, আর গভীরভাবে nested URL — সবই একটি API শেখা ও রক্ষণাবেক্ষণ কঠিন করে, এবং এমন একজন developer-কে ইঙ্গিত করে যে REST-এর uniform-interface constraint অভ্যন্তরীণ করেনি। ভালো URI design উদ্বেগগুলোকে আলাদাও রাখে: path-এ identity, query string-এ filtering ও pagination, যা caching আর routing পরিষ্কার রাখে।
বিস্তারিত উত্তরসহ IT ইন্টারভিউ প্রশ্নের একটি লাইব্রেরি — জুনিয়র থেকে সিনিয়র পর্যন্ত।
দান করুন