我使用 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?
我希望它有所帮助!