2015-04-13 15:04:27 4329次浏览 2条回答 1 悬赏 2 金钱

我用的是yii2的basic。
我的controller

namespace app\controllers;
use app\models\User;
use yii\rest\ActiveController;
class UserController extends ActiveController{
    public $modelClass = 'app\models\User';

}

我的models

namespace app\models;

use yii\db\ActiveRecord;

class User extends ActiveRecord
{
}

在配置的urlManager

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

我访问访问api,是用firefox的rest client访问的查询和删除能用,但是增加和更新,后台处理接收不到参数。我是参考帮助文档上RESTful WEB服务写的。请问这个是为什么?

  • 回答于 2015-04-15 22:23 举报

    这是yii2的一个bug, controller的id,按RESTFul标准是要用复数形式访问的。你设置成复数关闭即可。

    'urlManager' => [
                'enablePrettyUrl' => true,
                'enableStrictParsing' => true,
                'showScriptName' => false,
                'rules' => [
                    ['class' => 'yii\rest\UrlRule', 'controller' => 'user','pluralize'=>false,],
                ],
            ],
    
    1 条回复
    回复于 2015-04-16 13:30 回复

    上述问题在调试中出现,但是后来确认不是这个问题。应该是url或者其参数问题。比如index,create方法不带参数,put,delete都要在url中带id才对,否则会报405错误。

  • 回答于 2015-12-27 17:51 举报

    请问解决了吗?我也接收不到参数

您需要登录后才可以回答。登录 | 立即注册
黄晓飏
职场新人

黄晓飏

注册时间:2015-04-08
最后登录:2015-04-13
在线时长:6小时32分
  • 粉丝0
  • 金钱18
  • 威望0
  • 积分78

热门问题