संकट
जैसा कि ब्लॉगपोस्ट बेस्ट प्रैक्टिसेज इन द डिजाइनिंग ए प्रैस्टेटिक रैस्टफुल एपीआई की सिफारिश की गई है , मैं एक fields
क्वेरी पैरामीटर को एक Django रेस्ट फ्रेमवर्क आधारित एपीआई में जोड़ना चाहूंगा जो उपयोगकर्ता को प्रति संसाधन केवल फ़ील्ड्स के एक सबसेट का चयन करने में सक्षम बनाता है।
उदाहरण
serializer:
class IdentitySerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = models.Identity
fields = ('id', 'url', 'type', 'data')
एक नियमित क्वेरी सभी फ़ील्ड लौटाएगी।
GET /identities/
[
{
"id": 1,
"url": "http://localhost:8000/api/identities/1/",
"type": 5,
"data": "John Doe"
},
...
]
fields
पैरामीटर वाली क्वेरी को केवल फ़ील्ड का सबसेट वापस करना चाहिए:
GET /identities/?fields=id,data
[
{
"id": 1,
"data": "John Doe"
},
...
]
अमान्य फ़ील्ड वाली क्वेरी को या तो अमान्य फ़ील्ड्स को अनदेखा करना चाहिए या क्लाइंट त्रुटि फेंकनी चाहिए।
लक्ष्य
क्या यह किसी भी तरह से संभव है? यदि नहीं, तो इसे लागू करने का सबसे सरल तरीका क्या है? वहाँ एक 3 पार्टी पैकेज है कि चारों ओर यह पहले से ही है?