最佳答案
正如博客文章 设计实用 RESTful API 的最佳实践中所推荐的,我想在基于 Django RestFramework 的 API 中添加一个 fields
查询参数,该 API 允许用户只选择每个资源字段的一个子集。
序列化程序:
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"
},
...
]
具有无效字段的查询应忽略无效字段或抛出客户端错误。
有没有可能从盒子里拿出来?如果没有,最简单的实现方法是什么?有没有第三方包裹可以做到这一点?