সাধারণভাবে আপনার কাছে একটি প্রান্ত রয়েছে যা এক্স এর সম্পূর্ণ সংগ্রহকে উপস্থাপন করে :
/products
বলুন, আপনি একটি একক পণ্য আপডেট করতে চান, আপনি একটি পুট তৈরি করেন /products/{id}
। আপনি যদি কোনও একক পণ্য আংশিকভাবে আপডেট করতে চান (প্রতিটি ক্ষেত্র আপডেট না করে), আপনি এতে একটি প্যাচও ব্যবহার করতে পারেন /products/{id}
। একই একটি একক সত্তা মুছে ফেলার (জন্য যায় DELETE করতে /products/{id}
)।
যদি আপনি একটি একক রিসোর্স লক্ষ্য করতে চান , আপনি পথের মাধ্যমে যোগ্যতা অর্জন করুন, কোন একক রিসোর্স, আপনি সংশোধন করতে চান।
শুধুমাত্র কর্ম যা স্কিম ভাঙ্গে সৃষ্টি একটি ressource করুন। যখন একটি ressource আপনি একটি সম্পূর্ণ হিসাবে সংগ্রহ লক্ষ্য তৈরি বলে পোষ্ট করতে /products
।
এটি বলেছিল, এটি পরিষ্কার হওয়া উচিত যে সামগ্রিকভাবে সামগ্রিকভাবে প্রভাবিত করে এমন ক্রিয়াকলাপের লক্ষ্যটি যথাযথ সংগ্রহ-শেষের পয়েন্টে যেতে হবে।
যেমন আপনি লাল রঙের পণ্যগুলির একটি উপসেট পুনরুদ্ধার করতে চান, আপনি এটির জন্য জিজ্ঞাসা করেছেন
পান করার জন্য /products?colour=red
।
সুতরাং, আপনি যদি এই সমস্তগুলি মুছতে চান তবে আপনি মুছে ফেলুন /products?colour=red
। অথবা আপনি যদি মাধ্যমে কয়েকটি পণ্য মুছে ফেলতে চান id
, আপনি পারে DELETE /products?id=1&id=2&id=3
।
রিসোর্স বাল্ক তৈরি সম্পর্কে কি ? আপনার সংগ্রহটি কেবল পোস্ট করুন । পুট এবং প্যাচ-তে একই হয় ।[{...},{...},{...}]
/products
এটা সত্যিই সোজা।
আপনার প্রশ্নের উত্তর দিতে:
যদি আমাকে সংগ্রহে যোগ করার দরকার হয় তবে এটি ঠিক আছে যে আমি পুট দিয়ে কিছু পণ্যই পাস করি?
এটি কেবল ঠিক নয়, আপনাকে এটির মতো করতে উত্সাহ দেওয়া হচ্ছে।
আমার যদি সংগ্রহ থেকে কিছু পণ্য মুছতে হয় তবে আমি কী ফিল্টার ডেটা (আইডির একটি অ্যারে) মুছে ফেলতে পারি?
এটা ঠিক আছে. যেমন এনেকো অ্যালোনসো লিখেছেন, মাঝে মাঝে বাল্কোপরেশনগুলি "কন্ট্রোলার" -অন্ডপয়েন্টস এর সাহায্যে এনক্যাপুলেটেড থাকে, অর্থাত্ একটি জটিলটি (জটিল) ক্রিয়াকলাপের জন্য একটি POST ব্যবহৃত হয়।