1

我有用金字塔编写的 RESTFul API。视图函数处理 request.POST 和 request.matchdict 中的数据并返回 json 响应。

例如:视图类中的方法。

@view_config(route_name="temp_name", request_method="PUT")
def put_item(self):
    # validates and processes self.request.POST 
    # validates and processes self.request.matchdict
    # returns json reponse

如您所见,我正在视图方法中进行验证,这是我想避免的。我的目的是将验证与实际功能分开。我该如何处理?

我看到滤锅http://cornice.readthedocs.org/en/latest/validation.html#using-colander在我的情况下看起来非常好。但看起来它与我根本没有使用的檐口集成在一起。而且,我现在无法将整个应用程序转换为檐口。是否可以以与我的应用程序的上述链接中相同的方式使用滤锅?

这是我第一次编写 RESTFul API,也刚开始学习金字塔和滤锅。需要你的帮助。提前致谢。

4

1 回答 1

2

您可以独立于檐口使用滤锅。在金字塔应用程序中使用 Colander Schema 的最基本示例我记得你在这里找到:

通过这种方式,您可以使用滤锅模式和验证器封装模式验证。

您可以在此处找到最近在该主题中引入的金字塔 1.5 分支:

哦,看看那个 SO 问题。我喜欢它,可能对你也有帮助:

于 2014-01-16T11:59:46.357 回答