2010-02-03 9 views
37

यदि आप /Resource/Id की तलाश में हैं और वह संसाधन मौजूद नहीं है, तो मैं हमेशा यह था कि 404 उचित प्रतिक्रिया थी। हालांकि, जर्सी हैंडलर से null लौटने पर, मुझे "204 कोई सामग्री" वापस नहीं मिलती है। मैं शायद किसी के साथ काम कर सकता हूं, लेकिन इस पर दूसरों के विचारों के लिए उत्सुक हूं।विश्वसनीय संसाधन नहीं मिला। 404 या 204? जर्सी हैंडलर से वापस लौटने पर 204 लौटाता है

अपने अगले प्रश्न का उत्तर देने के लिए। जर्सी को 404 लौटने के लिए आपको अपवाद फेंकना होगा।

if (a == null) 
     throw new WebApplicationException(404); 
+2

सिर्फ एक नोट है कि यदि कोई संसाधन खाली था, तो क्या आप वास्तव में 'शून्य' वापस करना चाहते हैं, तो 204 सही प्रतिक्रिया कोड होगा। –

+0

@MichaelMior मैं थोड़ा उलझन में हूँ। "शून्य" का मतलब यह नहीं है कि ऑब्जेक्ट नहीं मिला है? एक खाली सरणी को कोई सामग्री के रूप में नहीं माना जा सकता है लेकिन एक शून्य का मतलब है कि यह अस्तित्व में भी नहीं है? –

+0

@RajaAnbazhagan यह वास्तव में आपके आवेदन पर निर्भर करता है। –

उत्तर

46

HTTP Code Definition कहा गया है कि कोड 2 के साथ शुरुआत सफल कॉल और असफल लोगों के लिए 4 के लिए कर रहे हैं।

  • जब आप प्राप्त 204 यह सिर्फ (आमतौर पर आप यदि आप एक पोस्ट बनाने के कॉल कि कुछ भी वापस जाने के लिए की जरूरत नहीं है डाल उम्मीद या) वापस जाने के लिए

  • जब आप प्राप्त कोई बात नहीं है कि आपको पता चलता है 404 में यह कहा गया है कि कॉल असफल रहा, इसलिए यह कुछ भी वापस नहीं करेगा।

आपकी स्थिति में 404 उपयुक्त है, 204 नहीं! चूंकि आप शायद कॉलर से कहना चाहते हैं कि उसने गलत कॉल किया है।

+10

मैं कहूंगा कि 201/202 (निर्मित/स्वीकृत) खाली पुट/पोस्ट responces के लिए अधिक उपयुक्त हैं। –

संबंधित मुद्दे