Я использую AbstractRestfulController для контроллера в своем ZF2-приложении. Этот контроллер реализует функции create(), update() и т. Д.Zend Framework 2 RestfulController с дополнительными действиями
Возможно ли иметь действия рядом с этими REST-функциями?
E.g. Я хочу иметь: url.com/model/id, чтобы получить модель (это уже работает), но я хочу иметь возможность вызвать url.com/model/doSomething.
Я попытался с помощью child_routes, но это не сработало:
'car' => array(
'type' => 'literal',
'options' => array(
'route' => '/car',
'defaults' => array(
'controller' => 'CarDealer\Controller\Car',
'action' => 'index'
),
),
'child_routes' => array(
'rest' => array(
'type' => 'segment',
'options' => array(
'route' => '[/:id]',
'constraints' => array(
'id' => '[0-9]+',
),
'defaults' => array(
'controller' => 'CarDealer\Controller\Car',
),
),
),
'actions' => array(
'type' => 'segment',
'options' => array(
'route' => '[/:action]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
),
'defaults' => array(
'controller' => 'CarDealer\Controller\Car',
'action' => 'index',
),
),
),
),
),
Я довольно уверен, что выше не делает так много смысла, но я не мог найти правильные подсказки, чтобы все заработало.
Благодарим за помощь!
Это противоречит тому, как работает REST ... Вероятно, вы должны, в конечном счете, сопоставить отдельные пути (как URI ресурса) с различными действиями. Что вы можете сделать, это использовать собственные методы HTTP (глаголы), а не – Ocramius
Это то, что я ожидал :) Спасибо, тогда я буду использовать разные контроллеры. – dide