问题描述
我正在尝试将 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)