如果在调试模式下得到200 OK,如何解决CherryPy中的404错误?

时间:2018-10-30 14:05:35

标签: python get http-status-code-404 cherrypy

我添加了新参数,因此更改了请求格式。在调试模式下,一切都通过了,并且我的状态为200 OK,但是当我运行我的应用程序时,我总是在404。

@cherrypy.popargs('id')
class Application:
    def __init__(self):
        self.scores = Scoring()

@cherrypy.popargs('model', 'threshold')
class Scoring:

    @cherrypy.expose
    @authorization
    def index(self, id, model=None, threshold=None):
        application_id = int(id)
        threshold = float(threshold)
        model = int(model)
...
if __name__ == '__main__':
    cherrypy.config.update({
            'request.dispatch': cherrypy.dispatch.MethodDispatcher(),
            'tools.response_headers.on': True,
            'tools.response_headers.headers': [('Content-Type', 'text/json')],
            'server.socket_host': '0.0.0.0',
            'server.socket_port': 8080
        }
    )
    cherrypy.tree.mount(Application(), '/applications/')
    cherrypy.engine.start()
    cherrypy.engine.block()

相同的代码,但没有阈值参数可以很好地工作。我猜我在添加新参数时犯了一些错误。 GET请求格式通常如下所示:

'http://{host}:{port}/applications/{id}/scores/{model}/'

现在看起来像这样:

'http://{host}:{port}/applications/{id}/scores/{model}/{threshold}/'

我是CherryPy的新手,欢迎任何帮助。

0 个答案:

没有答案