বিকল্পের একটি সীমাবদ্ধ সেট যোগ করা; একটি এপিআই ব্রেকিং পরিবর্তন?


9

এইচটিটিপি এপিআই এর শেষ পয়েন্ট নিন যা নিম্নলিখিত প্রতিক্রিয়া মডেলটির বাইরে চলে যায়:

{
    "type": "Dog",
    "name": "Jessi",
    ...
}

typeমাঠের এক হচ্ছে হিসাবে ডকুমেন্টেশন বর্ণিত হয়েছে Dog, Catবা Fish

একটি নতুন বিকল্প যুক্ত করা হবে, বলুন Rat, একটি ব্রেকিং এপিআই পরিবর্তন হিসাবে বিবেচনা করা হবে?

কোনও সীমাবদ্ধ তালিকায় একটি বিকল্প যুক্ত করা (যা কোনও বিকাশকারী স্যুইচ করতে পারে) কোনও এপিআই-তে কোনও এক্সটেনশন বা কোনও পরিবর্তন বিবেচনা করে?

উত্তর:


10

ডকুমেন্টেশন যদি এই ক্ষেত্রটিকে কুকুর, বিড়াল বা মাছের মধ্যে একটি হিসাবে বর্ণনা করে, তবে হ্যাঁ, অন্য প্রকার যুক্ত করে ইন্টারফেসটিকে পিছনের দিকে-অসামঞ্জস্যভাবে পরিবর্তন করে। এটি সম্পূর্ণরূপে অনুমেয় যে আপনার API এর গ্রাহক কুকুর এবং বিড়ালের সাথে মাছের চেয়ে আলাদাভাবে আচরণ করার জন্য নির্দিষ্ট কোড লিখেছেন। একটি অজানা প্রকার দেওয়া হয়েছে, সেই ভোক্তা আপনার প্রতিক্রিয়াটি কী করতে পারে তা জানতেন না। তবে এটি আপনার প্রকৃত সমস্যা ডোমেনে এই স্থানধারক ধরণের "বিড়াল" এবং "ফিশ" কী উপস্থাপন করে তার উপর এটি অনেকটাই নির্ভর করে ...

যদি সম্ভাব্য ধরণের তালিকার পরিবর্তনগুলি ঘন ঘন হয়, বা যদি তালিকাটি সীমাবদ্ধ না হয় তবে এটিকে নথিভুক্ত করা বুদ্ধিমান। আপনার ব্যবহারের ক্ষেত্রে উপর নির্ভর করে আপনার API এন্ডপয়েন্ট হিসাবে সমস্ত সম্ভাব্য প্রকারের একটি তালিকা প্রকাশ করা ভাল - এটি এপিআই সংস্করণ আপডেট না করে আপনি প্রকারগুলি যুক্ত করতে বা মুছতে পারবেন তা পরিষ্কার। যাইহোক, আপনার প্রকারগুলি যত বেশি গতিশীল, এপিআই গ্রাহকদের পক্ষে টাইপ-নির্দিষ্ট কিছু করা তত কঠিন। এক্সটেনসিবিলিটি বা ব্যবহারের স্বাচ্ছন্দ্য আপনার ব্যবহারের ক্ষেত্রে এবং আপনার সমস্যার ডোমেনের উপর নির্ভর করে important


চমত্কার উত্তর - ধন্যবাদ। ডকুমেন্টেশনটি "নীচের টেবিলটি বর্তমানে API দ্বারা সমর্থিত প্রাণীগুলির বর্ণনা দেয়" শিরোনামযুক্ত কিছু সারণীতে বিকল্পগুলি বিশদে বিশদে কী হবে ? এটি কি ইঙ্গিত দেয় না যে বিকল্পগুলি প্রসারিত হতে পারে?
ডেভ নিউ

1
@ ডেভিনিউজা এটি সম্ভবত একটি ভাল ধারণা তবে আমি আরও স্পষ্ট হতে পারব। শুধু আপনি কী বোঝাতে চান তা নির্দেশ করবেন না - সরাসরি বলুন! আমি স্পষ্ট প্রত্যাশাগুলি সেট করার চেষ্টা করেছি এবং ডকসগুলিতে সেই শেষ পয়েন্টের জন্য একটি স্থিতিশীলতা গ্যারান্টির অফার করব , এরকম কিছু: "নীচের সারণীতে বর্তমানে সমর্থিত প্রাণীগুলির তালিকা রয়েছে, যদিও আমরা ভবিষ্যতে সমর্থিত প্রাণীগুলি যোগ করতে বা অপসারণ করতে পারি। যখন এটি ঘটে তখন আমরা API এর গৌণ সংস্করণ নম্বর আপডেট করব।
আমন

এক্সিকিউটেবল স্পেসিফিকেশন >>> ডকুমেন্টেড স্পেসিফিকেশন >>> অপ্রকাশিত স্পেসিফিকেশন।
ভয়েসফুউনরেজন

0

এটি কেবল তখনই ভেঙে যাবে যদি বিদ্যমান ক্রিয়াকলাপ থেকে "ইঁদুর" ফিরিয়ে দেওয়া যায়।

যদি বিদ্যমান ক্রিয়াকলাপগুলি "ইঁদুর" ফিরে না আসতে পারে তবে এই নতুন বিকল্পটি যুক্ত করা কোনও প্রভাব ফেলবে না।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.