yii2.0 rest接口的问题 [ 2.0 版本 ]
basic版本建了modules,按照手册配置好config建好控制器如。
访问http://webroot/home/user 能查到所有数据
但是我想取一条数据http://webroot/home/user/1 为什么就是404
求解答?
下面为config/web.php里的路由规则
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
['class' => 'yii\rest\UrlRule', 'controller' => 'home/user'],
]
]
最佳答案
-
johnny1991 发布于 2017-04-13 10:12 举报
第一,你的controller继承的是不是yii\rest\ActiveController;这个类
第二,你要确定你是否有'home/user'这个action
第三,在你这个action里面实现任何你想要作的事情共 6 条回复johnny1991 回复于 2017-04-13 10:48 回复你可以试试,写个action访问一下
johnny1991 回复于 2017-04-13 11:11 回复@wangwenfan 我建议你首先先关掉url美化来测试,然后http://localhost/index.php?r=home/user/lists&id=1这样
johnny1991 回复于 2017-04-13 11:12 回复@wangwenfan 极有可能是url美化出问题的
已解决,是urlManager 里面的rules 差一个
'pluralize' => false
,也可以不用配置他,action名需要写成复数,http://localhost/home/user/1
写成http://localhost/home/users/1
就可以了,但不知道为什么http://localhost/home/user/
没有加s就可以全部访问。'urlManager' => [ 'class' => 'yii\web\UrlManager', 'enablePrettyUrl' => true, 'enableStrictParsing' => true, 'showScriptName' => false, 'rules' => [ [ 'class' => 'yii\rest\UrlRule', 'controller' => 'home/user', 'pluralize' => false, ], ], // 'suffix' => '.html', ],
johnny1991 觉得很赞
其他 2 个回答
-
dashixiong 回答于 2017-04-13 11:28 举报
王文凡 ChengDu
注册时间:2016-04-11
最后登录:2018-07-26
在线时长:20小时44分
最后登录:2018-07-26
在线时长:20小时44分
- 粉丝3
- 金钱1065
- 威望10
- 积分1365