সমস্যা
প্রাগমেটিক রিস্টালফুল এপিআই ডিজাইন করার জন্য ব্লগপোস্টের সেরা অনুশীলনগুলিতে সুপারিশ অনুসারে , আমি fields
জ্যাঙ্গো রেস্ট ফ্রেমওয়ার্ক ভিত্তিক এপিআইতে একটি কোয়েরি প্যারামিটার যুক্ত করতে চাই যা ব্যবহারকারীকে সংস্থান অনুসারে ক্ষেত্রগুলির কেবলমাত্র একটি উপসেট নির্বাচন করতে সক্ষম করে।
উদাহরণ
সিরিয়ালাইজার:
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"
},
...
]
অবৈধ ক্ষেত্রগুলির সাথে একটি ক্যোয়ারীটি হয় অবৈধ ক্ষেত্রগুলি উপেক্ষা করুন বা ক্লায়েন্ট ত্রুটি নিক্ষেপ করা উচিত।
লক্ষ্য
এটি কি কোনওভাবে বক্সের বাইরে রাখা সম্ভব? যদি তা না হয় তবে এটি বাস্তবায়নের সহজ উপায় কী? চারপাশে কোনও তৃতীয় পক্ষের প্যাকেজ রয়েছে যা ইতিমধ্যে এটি করে?