具有多个url路径的CherryPy MethodDispatcher

时间:2012-08-22 20:54:47

标签: python cherrypy

来自MethodDispatcher的{​​{1}}是否处理多个网址路径?我正在尝试执行以下操作,但在CherryPy请求正常工作时,/customers的请求始终返回'404 Nothing匹配给定的URI'。

/orders

1 个答案:

答案 0 :(得分:1)

我想我解决了它,尝试使用:

cherrypy.tree.mount(Root())

cherrypy.tree.mount(Customers(), '/customers',
    {'/':
        {'request.dispatch': cherrypy.dispatch.MethodDispatcher()}
    }
)
cherrypy.tree.mount(Orders(), '/orders',
    {'/':
        {'request.dispatch': cherrypy.dispatch.MethodDispatcher()}
    }
)

cherrypy.engine.start()
cherrypy.engine.block()

似乎为了公开Root类中的方法,您必须使用注释@cherrypy.expose。设置exposed = True可能不起作用。

请参阅我对自己问题的回答Combining REST dispatcher with the default one in a single CherryPy app