Cherpy динамически добавлять объекты

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

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

http://example.ex/myobj+create

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

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

Возможно ли это с вишневым? Должен ли я исследовать другую структуру?


person Kyle Fransham    schedule 22.05.2012    source источник


Ответы (3)


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

person fumanchu    schedule 23.05.2012

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

person Sylvain Hellegouarch    schedule 22.05.2012

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

person Nicola Coretti    schedule 22.05.2012
comment
Да, но насколько я могу судить, cherrypy предоставляет только те ресурсы, которые определены при запуске приложения. Итак, если у меня есть класс, определенный в коде (как в случае с классом ресурсов в документе, на который вы ссылаетесь), я могу получить и установить для него параметры. То, что я ищу, более динамично: имя класса определяется пользователем, а URL-адрес создается для ссылки на созданный класс. - person Kyle Fransham; 22.05.2012