2012-05-08 28 views
11

तो मुझे एक ऐसी वेबसाइट मिली है जो किसी विशेष संसाधन के लिए HTTP-PUT स्वीकार करती है, उदाहरण के लिए। /contact जो उपभोक्ता को एक संपर्क अपडेट करने की अनुमति देगा, मानते हुए कि वे सत्यापन पास कर चुके हैं।संसाधन अपडेट करते समय, अपडेट सफल होने पर क्या HTTP स्थिति कोड वापस कर दिया जाता है?

तो मैं रिकॉर्ड अपडेट करता हूं, सब कुछ बढ़िया है .. और अब मुझे उपभोक्ता को कुछ वापस करने की ज़रूरत है।

HTTP स्थिति कोड मुझे वापस लौटना चाहिए?

यदि यह HTTP-POST (यानी एक नया संसाधन बनाना) था, तो मैं 201 Created वापस कर दूंगा और Location शीर्षलेख विशेषता जोड़ूंगा।

लेकिन .. मुझे अपडेट के लिए क्या करना है इसके बारे में कोई संकेत नहीं मिल रहा है।

चीयर्स :)

+0

बहुत अच्छा सवाल, ऐसा लगता है कि इसके लिए कोई मानक HTTP कोड नहीं है, इसलिए मैं बस 200 ओके वापस कर दूंगा। –

उत्तर

17

200 विशेष रूप से उपयुक्त है यदि आप कार्रवाई का प्रतिनिधित्व कर रहे हैं (हालांकि कार्य-प्रगति-लेकिन-निकट-अंतिम-कॉल "HTTP बीआईएस" अजीब रूप से its description of 200 OK में PUT का उल्लेख नहीं करता है)।

यदि आप किसी भी तरह का प्रतिनिधित्व नहीं कर रहे हैं, तो ग्राहक को इंगित करने के लिए 204 No Content का उपयोग करें कि इसे अपने वर्तमान "दस्तावेज़ दृश्य" को बदलने की आवश्यकता नहीं है।

+0

कार्रवाई का प्रतिनिधित्व क्या है? क्या यह अद्यतन संसाधन का प्रतिनिधित्व है या यह "ब्लाब्लाबला सफल रूप से अपडेट किया गया" – rmoestl

+1

की एक पंक्ति के साथ कुछ है "कार्रवाई का प्रतिनिधित्व" ब्लाब्लाबला सफलतापूर्वक अपडेट किया जाएगा ", आम तौर पर इसमें केवल सार्थक होता है यदि इसमें कोई शामिल है) ग्राहकों के लिए उपयोगी होने पर क्या हुआ लेकिन विशेष रूप से बी) अगले – fumanchu

+0

स्पष्टीकरण के लिए धन्यवाद, @fumanchu के लिए धन्यवाद। – rmoestl

5

200 उचित स्थिति संभालने PUT केवल एक अद्यतन किया था और एक संसाधन का निर्माण नहीं किया कोड है।