django - 如何使用 `drf-spectacular` 记录 ViewSet 的各个操作?

标签 django django-rest-framework openapi redoc 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 的方案。但是,现在为每个操作呈现相同的文档字符串,这使得我的文档非常冗长和冗余。

有没有办法只为每个操作呈现文档字符串的相关部分?

最佳答案

我刚刚发现该库通过装饰器提供了非常深入的文档功能。在不覆盖任何 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

关于django - 如何使用 `drf-spectacular` 记录 ViewSet 的各个操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70941962/

相关文章:

Django Rest Framework(多对多字段上的 GET 过滤器)

python - 类型错误 : post() missing 1 required positional argument

django-restframework-jwt 在使用 JWT token 时要求输入用户名/密码

javascript - NestJS/Swagger : what model is the ApiExtraModel expecting as a parameter?

rest - YYYYMMDD yaml 定义的日期格式

aws-cloudformation - AWS::Serverless::HttpApi OpenAPI 定义与 http 集成

android - 通过局域网访问django localhost服务器

html - 如何将文本输入保存为 HTML 和 Django 中的文件

django - DRF SessionAuthentication 登录页面不安全?

python - django 新手 - 一周中的每一天改变模板表样式