Masalah
Seperti yang direkomendasikan dalam Best Practices for Designing a Pragmatic RESTful API , saya ingin menambahkan fields
parameter kueri ke API berbasis Django Rest Framework yang memungkinkan pengguna untuk memilih hanya subset bidang per sumber daya.
Contoh
Serializer:
class IdentitySerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = models.Identity
fields = ('id', 'url', 'type', 'data')
Kueri biasa akan mengembalikan semua bidang.
GET /identities/
[
{
"id": 1,
"url": "http://localhost:8000/api/identities/1/",
"type": 5,
"data": "John Doe"
},
...
]
Kueri dengan fields
parameter seharusnya hanya mengembalikan subset bidang:
GET /identities/?fields=id,data
[
{
"id": 1,
"data": "John Doe"
},
...
]
Kueri dengan bidang tidak valid harus mengabaikan bidang yang tidak valid atau menimbulkan kesalahan klien.
Tujuan
Apakah ini mungkin di luar kotak entah bagaimana? Jika tidak, apa cara termudah untuk menerapkan ini? Apakah ada paket pihak ke-3 yang sudah melakukan ini?