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 次 |
| 最近记录: |