Проблема
Як рекомендовано в « Кращих практиках для створення проекту прагматичного API RESTful» в блозі , я хотів би додати fields
параметр запиту до API на основі Django Rest Framework, який дозволяє користувачеві вибирати лише підмножину полів на ресурс.
Приклад
Серіалізатор:
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"
},
...
]
Запит з недійсними полями повинен або ігнорувати недійсні поля, або викликати помилку клієнта.
Мета
Це можливо якось поза коробкою? Якщо ні, то який найпростіший спосіб здійснити це? Чи існує пакет сторонніх продуктів, який вже робить це?