Art*_*ory 2 python flask flask-restful
我在我的应用程序中使用 Flask-RESTful。
我想在每个资源发布之前调用一个方法并获取,这样我的代码就不会重复。
所以基本上这就是我所拥有的:
class SomeClass(Resource):
def __init__():
# Some stuff
def get(self, **kwargs):
# some code
def post(self, **kwargs):
# the same code as in get method
Run Code Online (Sandbox Code Playgroud)
我想在获取和发布之前进行方法调用,这样我的代码就不会重复。
我有什么办法可以做到这一点吗?
尝试编写一个装饰器函数并将其与您的get()和post()方法一起使用。更多信息请点击这里。
装饰器更像是函数的包装器,其中您的函数被包装在返回您的函数的函数中。
比如说,你想在处理之前进行一些验证,你可以编写一个像这样的装饰器:
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
Run Code Online (Sandbox Code Playgroud)
然后,在代码中使用它就非常简单:
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1484 次 |
| 最近记录: |