Я пытаюсь использовать иерархический ресурс в ZF2 для Restful API. Ресурс должен выглядеть как clients/1/addresses
. То, что я попытался был этоZF2 Неустойчивые иерархические маршруты
'clients' => array(
'type' => 'segment',
'options' => array(
'route' => '/clients[/:id]',
'constraints' => array(
'id' => '[0-9]+',
),
'defaults' => array(
'controller' => 'Api\Controller\ClientController',
),
),
'may_terminate' => true,
'child_routes' => array(
'addresses' => array(
'type' => 'segment',
'options' => array(
'route' => '/addresses[/:address_id]',
'constraints' => array(
'address_id' => '[0-9]+',
),
'defaults' => array(
'controller' => 'Api\Controller\AddressController',
),
),
),
),
),
Существует этот конфликт как идентификаторы, но я не знаю, если я переименовать идентификатор маршрута id
из адресов ресурсов, как я разрешу его. Во всяком случае, реальная проблема заключается в том, что маршрут clients/1/addresses
вызывает метод get
AddressController
, а не getList
, и я думаю, это потому, что Зенд понимает, что идентификатор клиента принадлежит адресам, поэтому его вызовы получают метод get.
Вы знаете, как бороться с этим?