python-3.x - 在命名空间实例化 flask_restx 上添加 doc 装饰器
问题描述
我正在尝试将 OpenAPI/Swagger 文档添加到 flask_restx 命名空间类。
添加文档的文档化方法是通过在 Resource 类上添加 doc 装饰器来完成的:@ns.doc(description="my documentation")
.
在 Namespace 类中有一个 decorators 参数,它接受一个装饰器列表并将它们应用于每个资源(然后在 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)
推荐阅读
- sql - SQL Server 查询对记录进行分组并插入到其他表中
- javascript - 秒表无法正常工作
- javascript - 正确的归并排序
- composer-php - 作曲家可以使用局部变量来指定存储库版本吗?
- vue.js - 如何将 codepen.io 示例复制到 .vue
- ignite - Apache Ignite 缓存到 SQL,反之亦然
- tensorflow - 将模型加载到 TensorFlow 服务容器中并使用 protobufs 与之通信
- amazon-dynamodb - AWS Amplify + Appsync - 是否可以使用@connection 转换级联删除相关数据?
- python-3.x - 如何在 beautifulsoup 中过滤掉缩略图附件?
- java - 使用 ECDSA 公钥验证 JWT 签名 - 解码签名字节时出错