【发布时间】:2015-01-16 22:00:56
【问题描述】:
我使用 django-rest-framework 开发了一个 API。 我正在使用 ModelSerializer 来返回模型的数据。
models.py
class MetaTags(models.Model):
title = models.CharField(_('Title'), max_length=255, blank=True, null=True)
name = models.CharField(_('Name'), max_length=255, blank=True, null=True)
serializer.py
class MetaTagsSerializer(serializers.ModelSerializer):
class Meta:
model = MetaTags
回复
{
"meta": {
"title": null,
"name": "XYZ"
}
}
理想情况下,在 API 响应中,任何不存在的值都不应在响应中发送。
当title 是null 时,我希望回复是:
{
"meta": {
"name": "XYZ"
}
}
【问题讨论】:
-
理想情况下,在 API 响应中任何不存在的值都不应该在响应中发送。是什么让你这么认为?
-
例如:Facebook graph api 仅返回 access_token 允许的配置文件数据。 @VincentBeltman
-
Access_token 不允许与不存在完全不同。
-
这也是 GraphQL 和标准 REST API 工作方式的明显区别。 DRF 的目标不是 GraphQL。
标签: python django api django-rest-framework