Я добавил новый параметр и изменил формат запроса. В режиме отладки все проходит, и я получаю статус 200 ОК, но когда я запускаю свое приложение, я постоянно получаю 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, поэтому любая помощь приветствуется.