HTTP spec के अनुसार, पाठ कि तीन अंकों प्रतिक्रिया कोड के बाद आता है, "कारण-वाक्यांश", केवल एक तार्किक बराबर साथ प्रतिस्थापित किया जा सकता है। तो आप 400 null user
के साथ प्रतिक्रिया नहीं दे सकते हैं और कुछ भी उपयोगी होने की उम्मीद करते हैं। दरअसल, ग्राहक को कारण-परीक्षण की जांच या प्रदर्शन करने की आवश्यकता नहीं है।
सामान्य में, HTTP प्रतिक्रिया इकाई (आमतौर पर पेज है कि प्रतिक्रिया के साथ जुडा हुआ) जानकारी ग्राहक के लिए उपयोगी शामिल करना चाहिए उन्हें आगे मार्गदर्शन करने, तब भी जब प्रतिक्रिया एक त्रुटि है। वेब पर, ऐसी अधिकांश errorsHTML हैं, और मशीन पठनीय जानकारी से रहित हैं, लेकिन सबसे ब्राउज़रों उपयोगकर्ता के लिए त्रुटि दिखाते हैं (और इसलिए की त्रुटि पृष्ठ काफ़ी अच्छा है!)।
- वैसे भी एक मानव पठनीय संदेश दर्रा:
तो एक मुख्य रूप से मशीन पठनीय संसाधन के लिए आपके पास दो विकल्प हैं। एचटीएमएल प्रतिक्रिया के साथ 400 Bad Request
लौटें, जो ग्राहक उपयोगकर्ता को दिखाने का विकल्प चुन सकता है। यह मृत आसान है लेकिन यह थोड़ा एक अनियंत्रित अपवाद फेंकने की तरह है, यह ग्राहक, या वास्तव में अंत उपयोगकर्ता के लिए सभी कड़ी मेहनत से गुजरता है।
- ग्राहकों को पुनर्प्राप्त करने की अनुमति दें। एक मशीन पठनीय प्रतिक्रिया के साथ
400 Bad Request
लौटें जो आपके एपीआई का हिस्सा है, इसलिए ग्राहक ज्ञात त्रुटि स्थितियों से पुनर्प्राप्त कर सकते हैं। यह कठिन है एक जाँच अपवाद, यह एपीआई का हिस्सा बन जाता फेंकने की तरह है, और यह ग्राहकों को शान से ठीक करने के लिए वे चाहते हैं अनुमति देता है।
तुम भी सर्वर समर्थन machie पठनीय त्रुटि वसूली दस्तावेज़ के लिए एक मीडिया प्रकार परिभाषित करते हुए दोनों परिदृश्यों बना सकते हैं, और ग्राहकों को उन्हें "स्वीकार" करने की अनुमति: Accept: application/atom+xml, application/my.proprietary.errors+json
ग्राहकों कि अनिवार्य क्षेत्र भूल त्रुटि मीडिया प्रकार में Accept
चुनकर मशीन पठनीय त्रुटियों या मानव पठनीय त्रुटियों को प्राप्त करने का विकल्प चुन सकते हैं।
+1, अभी कुछ आरईएसटी काम कर रहा है, यह पोस्ट वास्तव में एक समय बचाने वाला है, बहुत दोस्त धन्यवाद! – Anders
आपका स्वागत है। लेकिन मैंने अभी तक जो भी प्रचार किया है उसका अभ्यास करना अभी बाकी है। मैंने केवल पाठ/सादा मीडिया प्रकार पर स्टैक निशान पारित किए हैं। यह गलत नहीं है, लेकिन यह बहुत मानव पठनीय नहीं है। – mogsie
लेकिन विशिष्ट कारण-वाक्यांश सुनिश्चित कर सकते हैं कि लेखन परीक्षण आसान हो;) – fumanchu