如何访问收到错误“error - http://www.example.com/zf2/services/call/login -no-match”的rest服务路由器
我的Module.config
return array(
'router' => array(
'routes' => array(
'services' => array(
'type' => 'Zend\Mvc\Router\Http\Literal',
'options' => array(
'route' => '/services',
'defaults' => array(
'__NAMESPACE__' => 'Restapi\Controller\restapi',
),
),
),
'services' => array(
'type' => 'segment',
'may_terminate' => true,
'options' => array(
'route' => '/services[/:id]',
'constraints' => array(
'id'=>'[0-9a-zA-Z]+',
),
'defaults' => array(
'controller' => 'Restapi\Controller\rest',
),
),
),
),
),
'controllers' => array(
'invokables' => array(
'Restapi\Controller\Rest' => 'Restapi\Controller\RestapiController',
),
),
'view_manager' => array(
'strategies' => array(
'ViewJsonStrategy`'`,
),
),);
发布于 2015-01-27 20:17:48
如我所见,您的路由设置无效。首先:一个服务部分重写另一个服务部分。您可以只设置默认值,因此第一部分服务是不必要的。第二部分没有适当的路由-它只能处理如下请求
要接受服务/调用/登录路由必须如下所示
<?php
return array(
'router' => array(
'routes' => array(
'services' => array(
'type' => 'segment',
'may_terminate' => true,
'options' => array(
'route' => '/services[/[:controller[/:action]]]',
'constraints' => array('id' => '[0-9a-zA-Z]+',),
'defaults' => array(
'controller' => 'Restapi\Controller\rest',
'action' => 'index', // Default action for "/services" route
),
),
),
),
),
'controllers' => array(
'invokables' => array(
'Restapi\Controller\Rest' => 'Restapi\Controller\RestapiController',
),
),
'view_manager' => array(
'strategies' => array(
'ViewJsonStrategy',
),
),
);https://stackoverflow.com/questions/24033311
复制相似问题