我在我的应用程序中使用瓶的RESTful。
我想打电话给每一个的ressource后之前的方法,并能获得我的代码不重复。
所以基本上这里是我有:
class SomeClass(Resource):
def __init__():
# Some stuff
def get(self, **kwargs):
# some code
def post(self, **kwargs):
# the same code as in get method
我想有一个方法调用之前get和post所以我的代码不重复。
有没有什么办法可以实现这样做呢?
尝试写一个装饰功能,与你的get()
和post()
方法使用它。更多信息here。
装饰器更像是一个包装的功能,你的功能是包裹在返回你的函数的函数。
再说了,你想要做处理之前,你可以写这样的装饰一些验证:
from functools import wraps
def validate(actual_method):
@wraps(actual_method) # preserves signature
def wrapper(*args, **kwargs):
# do your validation here
return actual_method(*args, **kwargs)
return wrapper
然后,在代码中使用它是非常简单:
class SomeClass(Resource):
def __init__():
# Some stuff
@validate
def get(self, **kwargs):
# some code
@validate
def post(self, **kwargs):
# the same code as in get method