কোনও ব্যক্তি তাদের আত্মিক প্রাণী নির্বাচন করেছেন কিনা তা সনাক্ত করার জন্য একটি এপিআই কল্পনা করুন। তাদের কেবল শূন্য বা একটি আত্মিক প্রাণী থাকতে পারে।
বর্তমানে:
/person/{id}/selectedSpiritAnimal
যখন তারা একটি প্রাণী নির্বাচন করেছেন তখন 200 এএসপি এবং 200 ফেরত দেয় {selectedAnimal:mole}
কিন্তু যখন তাদের কোনও নির্বাচন নেই তখন এটি 404 এ ফিরে আসে।
এটি আমার আত্মা প্রাণীটিকে অসন্তুষ্ট করে তোলে কারণ আমরা কোনও বৈধ ডোমেন উদ্বেগের প্রতিনিধিত্ব করছি - এখনও কোনও আত্মিক প্রাণী বেছে নেই - এইচটিটিপি ত্রুটি হিসাবে।
প্লাস, একটি ব্যবসা হিসাবে - স্প্রিট-এনিমেল-হ্যাম্পার্স-আর-আমাদের - আমরা জানতে চাই যখন কারও কোন নির্বাচন নেই যাতে আমরা তাদেরকে অনুরোধ জানাতে পারি।
এখানে আরও ভাল প্রতিক্রিয়া কি:
এইচটিটিপি 200 এবং {selectedAnimal:null}
বা আরও স্পষ্টত
এইচটিটিপি 200 এবং {selectedAnimal:null, spiritAnimalSelected: false}
নাকি 404 ফেরত দেওয়া ভাল? যেহেতু this image has not yet been uploaded
অনলাইনে ছবি দেখার সময় অনেকটা পছন্দ হয় 404 this person has not selected a spirit animal
might একটি 404 হতে পারে
এই প্রশ্নটিকে সদৃশ হিসাবে প্রস্তাব করা হয়েছে তবে এই প্রশ্নটি URL টি প্রতিনিধিত্ব করে এমন পরিবর্তনের অনুমতি না দেওয়ার জন্য যখন অ্যাপ্লিকেশনটি কনফিগার করা হয়েছে তখন অন্য কোনও বৈধ URL অনুরোধ করা হচ্ছে।
যদিও আমি এখানে দেখছি যে কীভাবে একজন এমন সংস্থান উপস্থাপন করে যেখানে সংস্থানটির অনুপস্থিতি অর্থবহ হয়। অর্থাৎ ক্লায়েন্টের জন্য ইউআরএল অনুরোধ করা বৈধ এবং প্রতিক্রিয়া হ'ল আপনি সাফল্যের সাথে অনুরোধ করেছেন যা কোনও জিনিসের অনুপস্থিতি প্রতিনিধিত্ব করে।
সুতরাং এটি 'ব্যবসায়িক যুক্তি' নয় বরং এমন একটি পরিস্থিতিতে যেখানে কোনও জিনিসের অনুপস্থিতির অর্থ রয়েছে (এটি আমার অনেক সহকর্মীই যুক্তি দিচ্ছেন যে ৪০৪ এখনও সঠিক আছে) তবে কীভাবে মানচিত্র করবেন তা আমি নিশ্চিত নই বৈশিষ্ট।
উত্তর বাছাই করা খুব কঠিন। আমি এখানে কথোপকথন এবং কাজ চলমান একাধিকবার আমার মন পরিবর্তন করেছি।
এখানে যে বিষয়টি আমার জন্য এটি নিষ্পত্তি করে তা হল যে অনুমানটি বলে যে ক্লায়েন্টটি ভুল হয়ে গেলে 4XX হয় । এই দৃষ্টিতে ক্লায়েন্টকে নির্বাচিতস্পিরিটমিনাল url এর কাছ থেকে প্রতিক্রিয়া আশা করতে বলা হয়েছে সুতরাং ভুল হয়নি।
আমার সহকর্মীদের মধ্যে sensকমত্যটি এটি একটি খারাপ এপিআই ডিজাইনের লক্ষণ
সম্ভবত আমরা / person / {id request কে অনুরোধ করব এবং সেই ব্যক্তির জন্য সংযুক্ত সম্পর্কের একটি সেট ফেরত দেওয়া সম্ভবত আরও ভাল হবে ... তারপরে আপনাকে / নির্বাচিতস্পিরিট আনমিনাল লিঙ্কটি (যদি কোনও ব্যক্তির কোনও নির্বাচন নেই) দেওয়া হয় তবে আপনি যাইহোক এটি কল করুন তারপর একটি 404 বোঝা যায়। অথবা যে আপনি আংশিক প্রতিক্রিয়াগুলি প্রয়োগ করেছেন এবং ক্লায়েন্টটি ডেটার একটি উপসেটের জন্য অনুরোধ না করা পর্যন্ত একটি আরও সম্পূর্ণ ডকুমেন্ট ফিরিয়ে দিন