在CherryPy中用于RESTful URL路由的装饰器或转发器

时间:2015-02-27 21:32:12

标签: rest url-routing decorator cherrypy

我想以类似于Python web.py或Python瓶子的方式来路由请求。

使用这些框架,您只需在URL中添加标签即可用于传递参数,例如:

@route('/api/part1/<tag1name>/part2/<tag2name>')
def handlerfunction(self, tag1name, tag2name):

CherryPy确实有popargs装饰器,例如

@cherrypy.popargs('name')

但是,当URI中编码的值不止一个时,以正确的方式将它们分配给参数会变得非常不方便。

此外,我希望能够根据CherryPy MethodDispatcher基于HTTP请求方法进行路由。

1 个答案:

答案 0 :(得分:1)

答案是使用URL路由映射模块,例如“Routes”。 “路线”首先是为Pylons开发的,但确实支持CherryPy。

来自Documentation

Routes是Rails路由系统的Python重新实现,用于将URL映射到应用程序操作,反之亦然地生成URL。通过路由,您可以轻松创建简洁且非常简洁的URL。
路由允许基于域,cookie,HTTP方法或自定义函数的条件匹配。内置子域支持。路由带有广泛的单元测试套件。

在完成文档并使其与CherryPy一起使用之后,我将使用一些CherryPy特定的实现示例更新此答案。