【问题标题】:How to add x-server & x-taggroups for ReDoc through drf-yasg如何通过 drf-yasg 为 ReDoc 添加 x-server 和 x-taggroups
【发布时间】:2020-02-21 08:33:10
【问题描述】:

我正在使用drf-yasg 来记录文档,我正在使用redoc,它运行良好。但我想添加x-serverx-taggroups。我想为视图设置自定义标签,并将它们添加到他们自己的标签组中,但我在文档中找不到任何关于此的内容,我该怎么做?

【问题讨论】:

    标签: django documentation openapi drf-yasg redoc


    【解决方案1】:

    您可以通过子类化 OpenAPISchemaGenerator 在架构中包含任意额外数据(例如 x-serverx-tagGroups 供应商扩展)。

    class MyOpenAPISchemaGenerator(OpenAPISchemaGenerator):
        
        def get_schema(self, request=None, public=False):
            # Get the Swagger object generated by the superclass
            swagger = super().get_schema(request, public)
    
            # Add any extra fields you want
            swagger['x-tagGroups']=[{
                'name': 'My Group 1',
                'tags': ['myTag1', 'myTag2']
            },{
                'name': 'My Group 2',
                'tags': ['myTag1', 'myTag2', 'myTag3']
            }]
            return swagger
    

    然后,确保在获取 SchemaView 类时提供自定义生成器类:

    schema_view = get_schema_view(
        openapi.Info(
           title="Your API",
           default_version='v1',
           description="Your description",
        ),
        public=True,
        generator_class=MyOpenAPISchemaGenerator, # <--- Don't forget this
        permission_classes=[permissions.AllowAny],
    )
    

    【讨论】:

      猜你喜欢
      • 2019-08-15
      • 2020-10-15
      • 2022-01-14
      • 1970-01-01
      • 2019-07-27
      • 2020-01-13
      • 2019-06-17
      • 1970-01-01
      • 2021-11-09
      相关资源
      最近更新 更多