CherryPy中找不到路径

时间:2013-06-15 04:37:22

标签: python cherrypy

我一直致力于在CherryPy中实现测试API。

我已经阅读了一些论坛,教程,并将旧的Python开发人员编写的代码拼凑在一起,这就是我所拥有的:

import json
import cherrypy

class person:
    def default(self, *args):
        r = {
            'firstName': args[0],
            'lastName': args[1],
            'age': args[2]
        }
        return json.dumps(r)
    default.exposed = True

class api:
    def __init__(self):
        self.person = person()

class Root:
    def __init__(self):
        self.api = api()

conf = {
    '/': { 'request.dispatch': cherrypy.dispatch.MethodDispatcher()}
}

cherrypy.config.update(conf)
cherrypy.tree.mount(Root()) 
cherrypy.quickstart()

运行此代码的结果是以下错误:

  

404 Not Found

     

未找到路径'/ api / person / Blake / Williams / 27'。

     

追踪(最近一次通话):    文件“/Users/blakewilliams/Programming/Practice/Python/VirtualEnv/foo/lib/python2.7/site-packages/cherrypy/_cprequest.py”,第656行,回复      response.body = self.handler()    文件“/Users/blakewilliams/Programming/Practice/Python/VirtualEnv/foo/lib/python2.7/site-packages/cherrypy/lib/encoding.py”,第188行,致电      self.body = self.oldhandler(* args,** kwargs)    在电话中输入文件“/Users/blakewilliams/Programming/Practice/Python/VirtualEnv/foo/lib/python2.7/site-packages/cherrypy/_cperror.py”,第386行      提升自我

     

NotFound:(404,“路径'/ api / person / Blake / Williams / 27'未找到。”)

我不确定我做错了什么......先谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

如果您启动这样的樱桃服务器,那么它可以工作:

cherrypy.quickstart(cherrypy.Application(Root()), '/', {})

警告:您仍然找不到您指定的路径:您忘记了api级别:

http://127.0.0.1:8080/api/person/Blake/Williams/27