मैं वर्तमान में एक वेब एपीआई बना रहा हूं और एक विशिष्ट परिदृश्य है कि मैं यह निर्धारित नहीं कर सकता कि कौन सी HTTP स्थिति कोड वापस लौटने के लिए सबसे उपयुक्त होगा।अंतिम संपर्क हटा नहीं सकता - क्या स्थिति स्थिति कोड है?
परिदृश्य
मैं एक "ग्राहक" संसाधन जो संपर्क संसाधनों का एक संग्रह का मालिक है।
invariant यह है कि एक ग्राहक के पास हमेशा कम से कम एक संपर्क होना चाहिए। इसलिए, यदि कोई संपर्क हटाने के लिए अनुरोध किया गया है और यह संपर्क दिए गए क्लाइंट के लिए अंतिम शेष संपर्क है, तो मुझे एक उचित HTTP प्रतिक्रिया वापस करने की आवश्यकता है जो यह दर्शाता है कि अनुरोध "अंतिम संपर्क को हटा नहीं सकता" के रूप में पूरा नहीं किया जा सकता है।
मेरे भावना इस बात का "4xx क्लायंट त्रुटि की '
मैं माना जाता है निम्नलिखित स्थिति कोड्स श्रेणी में आते हैं चाहिए:
400 गलत अनुरोध - मैं इस संभावना से इनकार किया है यह है के रूप में विशेष रूप से विकृत अनुरोध के संबंध में जिसमें सर्वर समझने में असमर्थ है।
405 विधि अनुमत नहीं - पहले यह उपयुक्त लगता है, लेकिन मुझे लगता है कि 405 इंगित करता है कि इस विधि को कभी अनुमति नहीं दी जानी चाहिए, हालांकि उपर्युक्त परिदृश्य केवल क्षणिक है। विचार?
40 9 संघर्ष - मैं इस दिशा में झुका रहा हूं, हालांकि इस कोड के लिए दिया गया सामान्य उदाहरण आम तौर पर एक समझौता अपवाद/संघर्ष संपादित करता है।
क्या किसी के पास इस परिदृश्य में मुझे जवाब देने के तरीके के बारे में कोई मार्गदर्शन है?
'40 9' इस मामले में मेरा वोट प्राप्त करें, क्योंकि यह एक संघर्ष है जिसे उपयोगकर्ता हल कर सकता है। यह सामान्य उदाहरण है कि मेरे लिए कोई फर्क नहीं पड़ता, इस तरह के अन्य उदाहरण मौजूद हैं। '400' वास्तव में सही है, लेकिन '405' के लिए कुछ कहना है यदि आप वास्तविक 'DELETE' अनुरोधों का उपयोग करते हैं ... यदि नहीं, 40 9 मैं कहता हूं, लेकिन यदि आप करते हैं ... मैं आपकी दुविधा देखता हूं। – Wrikken
हां, मैं यहां डेलेटी क्रिया का उपयोग कर रहा हूं, लेकिन मुझे लगता है कि 405 इंगित करता है कि दिए गए संसाधन पर विधि को _never_ की अनुमति दी जानी चाहिए। –