在 Namespace 实例化 flask_restx 上添加文档装饰器

问题描述

我正在尝试将 OpenAPI/Swagger 文档添加到 flask_restx 命名空间类。

添加文档的方式是通过在资源类上添加文档装饰器来完成的:@ns.doc(description="my documentation")

在 Namespace 类中有一个装饰器参数,它接受装饰器列表并将它们应用于每个资源(然后在 Api 类中调用它们)。

我不知道如何将 @ns.doc 装饰器列表添加到命名空间

from flask_restx import Namespace,Resource

ns = Namespace(name = "namespace name")

ns.decorators = [
  simple_decorator_works,ns_doc_decorator(description="My default documentation on each resource")
]

@ns.route("/")
class MyResource(Resource):
    def get(self):
      return "awesome"

ns_doc_decorator 应该能够接收一些认参数

解决方法

需要一个基础资源类并且装饰器放置在该基础资源类上。


@ns.doc(description="My default documentation on each resource" etc)
class BaseResource(Resource): 
    ...
       
resource = type("resourceName",(BaseResource,),{'get': get_method,'post': post_method etc})

ns.add_resource(resource)