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