इसलिए यहां कुछ भी नया नहीं है, मैं केवल कुछ स्पष्टीकरण प्राप्त करने की कोशिश कर रहा हूं और अन्य पदों में कोई भी खोज नहीं कर सकता।
मैं एक नया संसाधन तैयार कर रहा हूँ, कहते हैं:
/books (POST)
एक शरीर के साथ:
{
title: 'The Lion, the Witch and the Wardrobe',
author: 'C. S. Lewis'
}
मुझे पता है कि मुझे नए संसाधन के एक हेडर के साथ 201 (निर्मित) लौटना चाहिए:
Location: /books/12345
सवाल मैं खुद के लिए जवाब देने के लिए प्रतीत नहीं कर सकते हैं कि शरीर में सर्वर वापस क्या होना चाहिए।
मैंने अक्सर इस प्रकार की प्रतिक्रिया दी है:
{
id: 12345,
title: 'The Lion, the Witch and the Wardrobe',
author: 'C. S. Lewis'
}
मैंने ऐसा कुछ कारणों से किया है:
- मैंने एंगुलरज जैसे फ्रंट एंड फ्रेमवर्क के लिए एपीआई लिखा है। मेरे विशेष मामले में मैं कोणीय संसाधनों का उपयोग कर रहा हूं और मुझे इसे खोजने के लिए अक्सर संसाधन के लिए सिर्फ आईडी की आवश्यकता होती है। अगर मैंने प्रतिक्रिया निकाय में आईडी वापस नहीं की, तो मुझे इसे स्थान शीर्षलेख से पार्स करने की आवश्यकता होगी।
- सभी पुस्तकों के एक GET में मैं आमतौर पर पूरी वस्तु वापस करता हूं न कि केवल आईडी। इस अर्थ में मेरे क्लाइंट कोड में अंतर नहीं है कि आईडी को कहां से प्राप्त करें (स्थान हेडर या बॉडी)।
अब मुझे पता है कि मैं वास्तव में यहां ग्रे एरिया में हूं, लेकिन ज्यादातर लोग कह रहे हैं कि पूरा संसाधन लौटाना 'बुरा' है। लेकिन क्या होगा अगर सर्वर संसाधन में जानकारी को बदल / जोड़ देता है। यह निश्चित रूप से आईडी जोड़ता है, लेकिन टाइमस्टैम्प जैसी अन्य चीजों को भी जोड़ सकता है। इस मामले में कि मैं पूरे संसाधन को वापस नहीं करता हूं, क्या वास्तव में एक POST करना बेहतर है, आईडी वापस करना है, तो ग्राहक को नए संसाधन प्राप्त करने के लिए एक GET प्रदर्शन करना होगा।