我使用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指南中它说的是真的,但对我来说它只适用于假
由于
答案 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?
我希望它有所帮助!