首页 > 解决方案 > 在所有方法上实现通用装饰器

问题描述

尝试为类上的所有方法创建自定义装饰器(该类是 flask-restplus resoucure)

from flask_restplus import Resource, Api

test_blueprint = Blueprint('test', __name__)

test_api = Api(test_blueprint)

test_namespace = test_api.namespace('tests', description='Tests operations')

doc_messages = {
    200: "Success",
    400: "Validation Error",
    500: "Server Error"
}


@test_namespace.route("")

class TestApi(Resource):

      method_decorators = [test_namespace.doc(responses=doc_messages)]

      def get(self):
        return {"name": 2}


Not work like:

@test_namespace.route("")
class TestApi(Resource):
@test_namespace.doc(responses=doc_messages)
     def get(self):
        return {"name": 2}

结果大摇大摆,在第一个示例中我没有显示响应的描述,但在第二个示例中我看到尽管它们应该相等。我的目标是使用第二个示例来创建应该在所有类方法中的更复杂的装饰器,但是我找不到没有重复应对的方法

标签: pythonrestflaskflask-restplus

解决方案


推荐阅读