अपना समाधान पुन: प्रयोज्य और लचीला बनाने के लिए, मैं एक "फ़िल्टर" क्वेरी पैरामीटर को लागू करने का सुझाव दूंगा। वहाँ में, आप ग्राहक के लिए आवश्यक किसी भी फ़ील्ड रख सकते हैं: बाद में आप एक अलग कार्य के लिए एक अलग सारांश बनाने की जरूरत है, तो इस तरह
GET /customers/123?fields=id,first_name,last_name,email
, आप को संशोधित करने के लिए कुछ भी नहीं होगा।
मैं /customers/123/summary
की अनुशंसा नहीं करता क्योंकि यह लचीला नहीं है। यह एक मामले के लिए ठीक हो सकता है, लेकिन यदि ग्राहक को किसी भिन्न मामले के लिए अलग-अलग गुणों तक पहुंचने की आवश्यकता है, तो आपको संसाधन को ट्विक करना होगा (अधिकतर आवश्यकतानुसार अधिक फ़ील्ड लौटकर)।
GET /customers/123?view=DESCRIPTION
कहाँ "DESCRIPTION
" सारांश के प्रकार का वर्णन होगा: आप फ़ील्ड नाम "छिपाने" चाहते हैं, शायद एक विकल्प के कुछ इस तरह हो सकता है। उदाहरण के लिए:
GET /customers/123?view=addresses_only // eg. returns billing and home address
GET /customers/123?view=short // eg. returns only id, first name, last name
यह अभी भी लचीला है क्योंकि आप आसानी से नए विचार बना सकते हैं।
स्रोत
2013-04-12 17:45:01
सुझाव के लिए धन्यवाद और मैं देख सकता हूं कि यह कैसे लचीला है। मेरे पास इस दृष्टिकोण के साथ एक चिंता है, यह मानता है कि उपभोक्ता ग्राहक संसाधन के लिए उपलब्ध फ़ील्ड जानता है। – BobJ
दोनों मामलों में, चाहे वह/सारांश या /? फ़ील्ड = ..., आपको अभी भी क्लाइंट के साथ एक यूआरएल साझा करने की आवश्यकता होगी। यदि आप उन्हें केवल यूआरएल देते हैं तो उन्हें उपलब्ध फ़ील्ड जानने की जरूरत नहीं है। मैंने अपनी पोस्ट को एक और संभावित समाधान के साथ अपडेट किया है। –
धन्यवाद मुझे पसंद है? व्यू = लघु दृष्टिकोण – BobJ