2012-05-22 4 views
2

Я использую cherrypy для имитации существующего интерфейса RESTful. Одним из требований является то, что у меня есть возможность добавлять объекты «на лету».cherrypy динамически добавлять объекты

Так, например, допустим, у меня есть объект, называемый myobj. Я хочу, чтобы можно было выставить метод, основанный на добавленном пользователем объекте. Таким образом, у меня будет «добавить» контекст, в котором я создаю объект

http://example.ex/myobj+create 

, и я смог бы получить объект, который создан, а также дети:

http://example.ex/myobjs/obj1 
http://example.ex/myobjs/obj1/child1 

Это возможно с вишневым? Должен ли я расследовать различные рамки?

ответ

0

Да, вы можете добавить обработчики динамически. Просто выполните obj1.child1 = Child(...).

0

CherryPy 3.2 (REST) обеспечивает интерфейс для создания интерфейсов RESTful.

+0

Да, но из того, что я могу сказать, cherrypy предоставляет только те ресурсы, которые определены при запуске приложения. Итак, если у меня есть класс, определенный в коде (как и в классе Resource в документе, к которому вы ссылаетесь) я могу получить и установить на нем параметры. То, что я ищу, более динамично: имя класса определяется пользователем, а URL-адрес сконструирован для ссылки на созданный класс. –

1

Возможно, вы захотите посмотреть объекты _cp_dispatch или popargs, которые предлагает CherryPy 3.2+. Они менее известны и, к сожалению, я не мог найти подходящий документ для них, но они будут делать то, что вам нужно. Кроме того, вы можете использовать диспетчеры маршрутов или селекторов.