Har*_*ara 7 php rest zend-rest zend-framework2
以下是我的模块配置文件
return array(
'controllers' => array(
'invokables' => array(
'RSMobile\Controller\User' => 'RSMobile\Controller\UserController',
),
),
// Routes for API calls
'router' => array(
'routes' => array(
'rsmobile' => array(
'type' => 'segment',
'options' => array(
'route' => '/rsmobile',
'defaults' => array(
'controller' => 'RSMobile\Controller\User',
)
),
// Child routes
'child_routes' => array(
// Route for "user" API
'user' => array(
'type' => 'segment',
'options' => array(
'route' => '/user[/:id]',
'constraints' => array(
'id' => '[0-9a-zA-Z]+',
),
'defaults' => array(
'controller' => 'RSMobile\Controller\User',
)
),
),
)
Run Code Online (Sandbox Code Playgroud)
题:
我在UserController文件中扩展了AbstractRestfulController但是,当我用www.example.com/rsmobile/user?userid=1调用它时,它调用get-list而不是get.
路上的任何光都会有所帮助
谢谢
我认为你只想使用www.example.com/rsmobile/user?userid=1
模式而不是www.example.com/rsmobile/user/1
。
在 中AbstractRestfulController
, 默认$identifierName
设置为,。id
如果在参数列表中找不到,id
那么它将调用getList()
方法。所以你可以做的是在你的控制器(必须扩展AbstractRestfulController
)中编写以下代码:
public function __construct() {
$this->identifierName = 'userId'; // Override $identifierName value specified in AbstractRestfulController.
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2134 次 |
最近记录: |