我一直致力于在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'未找到。”)
我不确定我做错了什么......先谢谢你的帮助。
答案 0 :(得分:1)
如果您启动这样的樱桃服务器,那么它可以工作:
cherrypy.quickstart(cherrypy.Application(Root()), '/', {})
! 警告:您仍然找不到您指定的路径:您忘记了api
级别:
http://127.0.0.1:8080/api/person/Blake/Williams/27