2013-03-13 7 views
9

के लिए आरईएसटी एपीआई कोड/संदेश मैं किसी अन्य संसाधन का हिस्सा बनने वाले संसाधन के लिए अनुरोध करते समय सही प्रतिक्रिया कोड & संदेश के लिए कुछ मार्गदर्शन ढूंढ रहा हूं।लापता पेरेंट संसाधन

उदाहरण के लिए, पर एक GET अनुरोध:

उपयोगकर्ताओं/{आईडी}

जहाँ उपयोगकर्ता एक 404 वापसी होगी, उपयोगकर्ता संसाधन का संदेश नहीं मिला साथ मौजूद नहीं है।

मेरा प्रश्न है, क्या निम्नलिखित वापसी चाहिए जब कोई उपयोगकर्ता संसाधन पाया जाता है:

उपयोगकर्ताओं/{आईडी}/मित्र

मैं वर्तमान में पहला उदाहरण के रूप में एक ही कोड/संदेश लौट रहा हूँ । क्या मुझे विशेष रूप से मित्रों के संसाधन से संबंधित एक संदेश वापस करना चाहिए? मैं व्यक्तिगत रूप से सोचता हूं कि एपीआई क्लाइंट को यह पता करने में मददगार है कि मूल संसाधन नहीं मिला है, क्योंकि आपके पास बड़ी यूआरआई श्रृंखला है।

उत्तर

6

इस विशेष उदाहरण में, यदि बिंदु किसी ग्राहक के बीच किसी मित्र के अनुरोध के बीच क्लाइंट को अलग करने देता है, और एक मित्र ऐसे उपयोगकर्ता के लिए अनुरोध करता है जिसके पास कोई मित्र नहीं है, तो मुझे लगता है कि यह सबसे अधिक समझ में आता है पहले मामले में 404 और दूसरे में एक खाली सेट के साथ 200 लौटने के लिए।

दूसरे शब्दों में, "none" मित्रों के लिए मान्य मान नहीं है। कोई उपयोगकर्ता नहीं है जहां कोई उपयोगकर्ता मौजूद है लेकिन दोस्तों की उनकी (संभावित रूप से खाली) सूची नहीं है, इसलिए मूल संसाधन के लिए 404 जारी करने में कभी भी कोई अस्पष्टता नहीं है।

+0

मैं ओपी के समान ही सोच रहा हूं और यह मेरे विशेष उपयोग मामले के लिए भी सही तरीके से लगता है। अपने मामले में आगे बढ़ने के लिए, [विकिपीडिया] (https://en.wikipedia.org/wiki/List_of_HTTP_status_codes) बताता है कि '404' के लिए" ग्राहक द्वारा अनुवर्ती अनुरोध अनुमत हैं "। मुझे लगता है कि यह सही है क्योंकि यह संभव है कि किसी बिंदु पर उस आईडी वाला उपयोगकर्ता मौजूद होना शुरू हो जाएगा, जबकि '400' का तात्पर्य है कि क्लाइंट त्रुटि के कारण अनुरोध खराब था और यह भविष्य में कभी मान्य नहीं हो सकता था। – djskinner

1

मुझे 400 Bad Request शीर्षलेख वापस करने का प्रयास किया जाएगा, और त्रुटि संदेश को प्रतिक्रिया के शरीर में रखें। दुर्भाग्यवश इस परिदृश्य में कोई सही या गलत जवाब नहीं है, इसलिए अपने और आपके आवेदन के लिए सबसे अच्छा काम करने के साथ जाएं।

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