如何使用 `drf-spectacular` 记录 ViewSet 的各个动作?
How to document individual actions of a ViewSet using `drf-spectacular`?
使用 DRF 的内置文档记录方式 API,我能够编写如下的文档字符串,每个操作都由相应的行记录:
"""
list: The list action returns all available objects.
retrieve:The retrieve action returns a single object selected by `id`.
create: The create action expects the fields `name`, creates a new object and returns it.
"""
我正在切换到库 drf-spectacular
,它可以轻松生成符合 OpenAPI 的方案。但是,现在为每个操作呈现相同的文档字符串,这使得我的文档非常冗长和冗余。
有没有办法只为每个操作呈现文档字符串的相关部分?
我刚刚发现该库通过装饰器提供了非常 in-depth 的文档功能。在不覆盖任何 ViewSet 方法的情况下,上面的文档字符串可以写成:
@extend_schema_view(
list=extend_schema(
description="The list action returns all available actions."
),
create=extend_schema(
description="The create action expects the fields `name`, creates a new object and returns it."
),
retrieve=extend_schema(
description="The retrieve action returns a single object selected by `id`."
)
)
class MyViewSet(viewsets.ViewSet):
pass
使用 DRF 的内置文档记录方式 API,我能够编写如下的文档字符串,每个操作都由相应的行记录:
"""
list: The list action returns all available objects.
retrieve:The retrieve action returns a single object selected by `id`.
create: The create action expects the fields `name`, creates a new object and returns it.
"""
我正在切换到库 drf-spectacular
,它可以轻松生成符合 OpenAPI 的方案。但是,现在为每个操作呈现相同的文档字符串,这使得我的文档非常冗长和冗余。
有没有办法只为每个操作呈现文档字符串的相关部分?
我刚刚发现该库通过装饰器提供了非常 in-depth 的文档功能。在不覆盖任何 ViewSet 方法的情况下,上面的文档字符串可以写成:
@extend_schema_view(
list=extend_schema(
description="The list action returns all available actions."
),
create=extend_schema(
description="The create action expects the fields `name`, creates a new object and returns it."
),
retrieve=extend_schema(
description="The retrieve action returns a single object selected by `id`."
)
)
class MyViewSet(viewsets.ViewSet):
pass