2014-01-28 1 views
1

Я понимаю и получили RESTful маршрутов, работающих в моем приложении, используя это руководство http://docs.cherrypy.org/dev/progguide/REST.htmlВложенные RESTful маршруты в CherryPy

Кто-нибудь знает, как добавить второй RESTful ресурс вложен в первый?

Я ожидаю, что мой код, чтобы посмотреть что-то вроде этого, но я не могу заставить его работать

import cherrypy 

class Pets: 
    exposed = True 

    def GET(self, personID, petID): 
    pass # GET /people/123/pets/333 return pet 

    def POST(self, personID): 
    pass # POST /people/123/pets create pet 

class People: 
    pets = Pets() 

    exposed = True 

    def GET(self, personID): 
    pass # GET /people/123 return person 

    def POST(self): 
    pass # POST /people create person 


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

cherrypy.tree.mount(.., '/', config) 

ответ

2

Смотрите справочные документы для cherrypy.popargs. Он выдает компоненты пути и передает их в качестве аргументов ключевого слова следующему обработчику. В этом случае используйте его как декоратор на ресурсе людей и прикрепите ресурс для животных ресурсу людей.

@cherrypy.popargs('petID') 
class Pets: 
    ... 
@cherrypy.popargs('personID') 
class People: 
    ... 
+0

Я не понимаю, как это могло бы помочь. Не могли бы вы объяснить, используя пример, который я добавил? –

+0

Спасибо, что сработало! –

 Смежные вопросы

  • Нет связанных вопросов^_^