Yii2 Web 服务不从数据库返回一行



我使用 yii2 基本模板制作了一个 Web 服务,当我调用它时,我得到了一个名为"ely_usuario"的表:

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

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

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

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

它不起作用,给我显示一个未找到的页面,我已经使用 gii 制作了模型类

这是我的控制器:

<?php
namespace appcontrollers;
use yiirestActiveController;
class ElyUsuarioController extends ActiveController
{
    public $modelClass = 'appmodelsElyUsuario';
}

我的配置:

'urlManager' => [
            'enablePrettyUrl' => true,
            'enableStrictParsing' => false,
            'showScriptName' => false,
            'rules' => [
                ['class' => 'yiirestUrlRule', 'controller' => 'ely-usuario'],
            ],
        ],

您可能会注意到的另一件奇怪的事情是"启用严格解析"是假的,在 yii2 指南中它说是真的,但对我来说它只适用于假

谢谢

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

'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
}

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

为什么 RESTfull API 请求在 Yii2 中查看返回值 404?

我希望它有所帮助!

相关内容

  • 没有找到相关文章

最新更新