在Django Rest Framework

时间:2018-04-26 10:23:51

标签: django-rest-framework

我们提供内部使用的公共API,但也作为功能提供给我们的SaaS用户。我有一个Model,一个ModelSerializer和一个ModelViewSet。一切都是功能性的,但它在API文档中对模型help_text脱口而出。

虽然这适用于某些领域,但我们希望为API用户提供更明确的批次,提供示例,而不仅仅是对指南的解释。

我意识到我可以在Serializer中重新定义每个字段(使用相同的名称,然后添加一个新的help_text参数,但这是非常无聊的工作。

我可以提供(例如)字段名称及其文本字典吗? 如果没有,我如何在文档过程中进行调解以使其成为可行的?

另外,相关的是,有没有办法为每个Viewset端点提供完整示例?例如,显示提交和返回的内容,就像许多流行的API一样(Stripe as an example)。或者我是否对DRF的文档生成提出了太多要求?我应该在外部处理这一切吗?

1 个答案:

答案 0 :(得分:0)

要覆盖来自模型的help_text值,您将需要使用自己的模式生成器子类并覆盖get_path_fields。在那里,您可以(根据您的设想)在视图集上优先于模型字段help_text的值进行映射。

在调整示例生成时-您可以定义一种JSON语言,该语言只处理原始JSON并很容易地说明请求的一面,但是,如果不真正深入研究,说明响应就很困难。生成的默认架构不包含响应结构数据。