वहाँ एक मानक नहीं लगता है।
StackOverflow का जवाब 410 GONE की ओर है, लेकिन मुझे लगता है कि 301 MOVED परमानेंटली अधिक उपयुक्त है।
सही विकल्प बनाने के लिए, हमें आपके विशिष्ट मामले को देखना होगा। यदि आपका लक्ष्य एपीआई v1 के लिए किए जा रहे सभी कॉलों को आगे कोई कार्रवाई किए बिना विफल रहता है, तो 410 गोन इसके लिए काम करता है। यदि आप कुछ निरंतरता चाहते हैं, जैसे कि क्लाइंट को आपके एपीआई के एक नए संस्करण में पुनर्निर्देशित करना जहां उनकी कॉल सफल हो सकती है, 3XX काम करता है, लेकिन आप किसे चुनते हैं? मुझे लगता है कि अगर आप API v1 को बंद करने की कोशिश कर रहे हैं, तो 301 मूव्ड परमानेंटली 303 SEE OTHER से बेहतर इंगित करने में मदद करता है, क्योंकि 301 बताता है कि भविष्य के सभी अनुरोध नए url को किए जाने चाहिए, जबकि 303 यह संकेत नहीं देता है कि यह स्थिति है या नहीं। स्थायी।
मैं इस तरह से API की इंजीनियरिंग करने की सलाह दूंगा कि प्रत्येक संस्करण पीछे की ओर संगत रहे, ताकि 301 MOVED परमानेंटली पारदर्शी रूप से आपके API को जीवंत बनाए रखें और जब भी आप नए API संस्करणों के लिए नए समापन बिंदु जोड़ते हैं, तो अद्यतित रहेंगे। मुझे लगता है कि आप वैसे भी करने की कोशिश कर रहे हैं।
HTTP स्थिति कोड
HTTP स्थिति कोड 302 मूल रूप से बहुत व्यापक था और इस तरह गलत तरीके से लागू / उपयोग किया गया, इसलिए 303 और 307 को 302 के दोहरे उपयोग मामले के बीच अंतर करने के लिए बनाया गया था। कुछ API अन्य उद्देश्यों के लिए 303 का उपयोग करते हैं।
301 जारी स्थायी रूप से - 301 (स्थानांतरित स्थायी रूप से) स्थिति कोड इंगित करता है कि लक्ष्य संसाधन को एक नया स्थायी यूआरआई सौंपा गया है और इस संसाधन के किसी भी भविष्य के संदर्भ को संलग्न यूआरआई में से एक का उपयोग करना चाहिए।
302 ध्वनि - 302 (मिला) स्थिति कोड इंगित करता है कि लक्ष्य संसाधन एक अलग URI के तहत अस्थायी रूप से रहता है। चूंकि पुनर्निर्देशन को मौके पर बदल दिया जा सकता है, ग्राहक को भविष्य के अनुरोधों के लिए प्रभावी अनुरोध URI का उपयोग जारी रखना चाहिए।
303 SEE OTHER - GET अनुरोध के लिए 303 प्रतिक्रिया इंगित करती है कि मूल सर्वर में लक्ष्य संसाधन का प्रतिनिधित्व नहीं है जिसे HTTP पर सर्वर द्वारा स्थानांतरित किया जा सकता है। हालाँकि, स्थान फ़ील्ड मान एक ऐसे संसाधन को संदर्भित करता है जो लक्ष्य संसाधन का विवरणात्मक होता है, जैसे कि उस पर एक पुनर्प्राप्ति अनुरोध करने से अन्य संसाधन को एक प्रतिनिधित्व मिल सकता है जो प्राप्तकर्ताओं के लिए उपयोगी है बिना यह अर्थ लगाए कि यह मूल लक्ष्य संसाधन का प्रतिनिधित्व करता है।
410 चला गया - 410 ( गया ) स्थिति कोड इंगित करता है कि लक्ष्य संसाधन तक पहुंच मूल सर्वर पर उपलब्ध नहीं है और यह स्थिति स्थायी होने की संभावना है। यदि मूल सर्वर को पता नहीं है, या यह निर्धारित करने के लिए कोई सुविधा नहीं है कि क्या स्थिति स्थायी है या नहीं, इसके बजाय स्थिति कोड 404 (नहीं मिला) का उपयोग किया जाना चाहिए।
मौजूदा API इसे कैसे संभालते हैं?
शायद आप Google के Youtube API से एक पेज ले सकते हैं :
जब API अनुरोध विफल हो जाता है, तो YouTube एक HTTP 4xx या 5xx प्रतिक्रिया कोड लौटाएगा, जो विफलता के साथ-साथ एक XML प्रतिक्रिया की पहचान करता है जो कि विफलता के कारण त्रुटि के बारे में अधिक विशिष्ट जानकारी प्रदान करता है। प्रत्येक त्रुटि के लिए, XML प्रतिक्रिया में एक डोमेन तत्व, कोड तत्व और संभवतः एक स्थान तत्व शामिल होता है।
आगे की पढाई: