2013-03-25 3 views
2

у меня есть проблема, что я был не в состоянии решить все же, и надеюсь, что вы можете помочь :)Catalyst Прикованный маршрутизации «петля»

я есть построить CataPLACK-приложения с веб-интерфейсом. Теперь я должен установить JSON/REST/XML-Апи, поэтому я думал, что я мог бы сделать что-то вроде этого:

/ => root 
/blog/ => ... 
/news/ => ... 
/api =>chainedTo(root) PathPart(api) Args(1) { set_view($arg) }; 

как я петля назад апи к корневой (/), так что я могу переотправки весь запросить другой взгляд, не создавая множество «поддельных подпрограмм»?

я чувствую, что должен быть чистым способом ...

+0

Andreas, укажите информацию о вашем профиле. Мне нравится, что мы знаем вас. – Anthon

ответ

0

Посмотрите на различия между $c->forward/$c->detach и $c->visit/$c->go в руководстве. Я думаю, вы обнаружите, что вы, вероятно, можете построить конструкцию $c->go() из вашего метода api, который достигнет того, что вам нужно.

Это все еще немного грязно, особенно если вам нужно отменить повторное использование URI для действия вручную.

Вы можете добиться такого же эффекта с гораздо меньшими затратами, добавив часть пути «api» в конце, а не в начало, поэтому он просто станет аргументом для запроса, который вы можете проверить в своем auto sub , и установите любые требуемые переменные. Тогда вам не нужно делать повторную отправку. Только вы можете решить, будет ли такая схема URI достаточно чистой и подходящей для вашего приложения.

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