我和一个伙伴一直在阅读 Flask-RESTless 的文档,它说:
预处理器和后处理器函数的参数将作为关键字参数提供,因此在定义预处理器或后处理器函数时,应始终添加 **kw 作为最终参数。
但它没有指定我们如何使用这些关键字参数将信息传递给预处理器或后处理器。谁能告诉我们如何做到这一点?
我们的 create_api 现在看起来像这样:
create_api(Foo,
methods=['GET', 'POST', 'PUT', 'DELETE'],
collection_name='p',
url_prefix='/api/v1',
primary_key='uid',
exclude_columns=['id'],
preprocessors={
'POST': [authenticate, validation_preprocessor],
'GET_SINGLE': [authenticate],
'GET_MANY': [authenticate],
'PUT_SINGLE': [authenticate, validation_preprocessor],
'PUT_MANY': [authenticate, validation_preprocessor],
'DELETE': [authenticate]
})
def validation_preprocessor(data=None, **kw):
# Do stuff
pass
我们想要做的是在validation_preprocessor 中使用**kw 作为我们自己的值。