0

私は、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お探しのページが見つかりませんでした

パス「/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' が見つかりませんでした。」)

何が間違っているのかわかりません...助けてくれてありがとう。

4

1 に答える 1

1

このようにcherrypyサーバーを起動すると、動作します:

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

! 注意: 指定したパスがまだ見つかりません:apiレベルを忘れています:

http://127.0.0.1:8080/api/person/Blake/Williams/27
于 2013-06-15T05:24:08.360 に答える