Php 管理Yii2中的路由
Yii2中的路由有问题。在camelcase中,我有控制器操作名,这是一个url管理器规则,使用该控制器的UrlRule类 行动:Php 管理Yii2中的路由,php,yii2,Php,Yii2,Yii2中的路由有问题。在camelcase中,我有控制器操作名,这是一个url管理器规则,使用该控制器的UrlRule类 行动: public function actionCreateRole() { if (!isset($_POST['name'])) { throw new BadRequestHttpException("Не передан обязательный параметр 'name'"); } $name = $_POST['
public function actionCreateRole()
{
if (!isset($_POST['name'])) {
throw new BadRequestHttpException("Не передан обязательный параметр 'name'");
}
$name = $_POST['name'];
if ($this->getAuthManager()->getRole($name) !== null) {
throw new BadRequestHttpException("Роль уже существует");
}
$role = $this->getAuthManager()->createRole($name);
$role->description = $_POST['description'];
if (!$this->getAuthManager()->add($role)) {
throw new ServerErrorHttpException();
}
return $role;
}
UrlManager配置:
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
[
'class' => 'yii\rest\UrlRule',
'controller' => [
'rbac',
],
'patterns'=>[
'POST role' => 'create-role',
],
],
],
],
在请求时有404错误
我正在尝试将模式设置为:
'patterns'=>[
'POST role' => 'createRole',
],
响应-错误404
我的错误在哪里?控制器的名称是什么?路径或url是什么?您可能对复数化规则(默认为
true
)有问题。您的url应该类似于POST/rbacs
,并且您的控制器应该是RbacController
。Mat,谢谢,问题出在pluralize属性中