这里的顶级路由器可以工作。 / property是一个Literal路由,它不会终止并获取子路由上的GET操作。 在下面我有一个段路由,就像它的父节点一样,不会终止并接收子路由上的GET操作。它应仅响应/ property / 12
上的GET请求在路由时发现了一个未找到的错误。
'router' => array(
'routes' => array(
'property' => array(
'type' => 'Literal',
'options' => array(
'route' => '/property',
),
'may_terminate' => false,
'child_routes' => array(
'get' => array(
'type' => 'method',
'options' => array(
'verb' => 'GET',
'defaults' => array(
'controller' => 'Property\Controller\Rest',
'action' => 'get',
),
),
),
'by_id' => array(
'type' => 'segment',
'options' => array(
'route' => '/[:propertyId]',
'may_terminate' => false,
'child_routes' => array(
'get_by_id' => array(
'type' => 'method',
'options' => array(
'verb' => 'GET',
'defaults' => array(
'controller' => 'Property\Controller\Rest',
'action' => 'getById',
),
),
),
)
),
),
答案 0 :(得分:2)
您的阵列无效。 'may_terminate'
不应该在'options'
内。不确定这是否会导致您的所有问题,但请尝试更新并查看是否已解决:
'by_id' => array(
'type' => 'segment',
'options' => array(
'route' => '/[:propertyId]'
),
'may_terminate' => false,
'child_routes' => array(
'get_by_id' => array(
'type' => 'method',
'options' => array(
'verb' => 'GET',
'defaults' => array(
'controller' => 'Property\Controller\Rest',
'action' => 'getById'
)
)
)
)
),