Yii2 Web Service不从数据库返回单行

时间:2018-01-04 12:09:45

标签: web-services yii2

我使用yii2基本模板制作了一个网络服务我得到了一张名为“ely_usuario'当我打电话给:

http://localhost/basic/web/index.php/ely-usuario/

它工作正常并返回ely_usuario表中的所有行

但是当我尝试只获得一条记录时,例如:

http://localhost/basic/web/index.php/ely-usuario/29

它不起作用,向我展示一个未找到的页面,我使用gii制作了模型类

这是我的控制器:

<?php
namespace app\controllers;

use yii\rest\ActiveController;

class ElyUsuarioController extends ActiveController
{
    public $modelClass = 'app\models\ElyUsuario';
}

我的配置:

'urlManager' => [
            'enablePrettyUrl' => true,
            'enableStrictParsing' => false,
            'showScriptName' => false,
            'rules' => [
                ['class' => 'yii\rest\UrlRule', 'controller' => 'ely-usuario'],
            ],
        ],

您可能会注意到的另一个奇怪的事情是&#39; enableStrictParsing&#39;是假的,在yii2指南中它说的是真的,但对我来说它只适用于假

由于

1 个答案:

答案 0 :(得分:0)

您需要更改配置中的代码。我希望您能从以下代码中获得一个想法。它对我来说很好用!

'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'<controller:(ely-usuario)>/<action>/<id:\d+>' => '<controller>/<action>',
],
],

在您的控制器中,请检查您的具体操作。它必须编码如下:

public function actionTransactions($id=null){
if($id!=null){
//retrieve single row
}else{
 //retrieve multiple rows
}

另请查看此链接以供参考:

Why RESTfull API request to view return 404 in Yii2?

我希望它有所帮助!