【问题标题】:about yii2 framework and rest api关于yii2框架和rest api
【发布时间】:2017-10-01 13:19:03
【问题描述】:

你好,我第一次尝试做一个rest api,我使用邮递员来显示结果,但是当我使用POST时出错,错误是{“message”:“方法不允许。这个url只能处理以下请求方法:GET、HEAD。",}

这是我的控制器

<?php
namespace backend\controllers;
use yii\rest\ActiveController;

class TestController extends ActiveController{
public $modelClass='backend\models\test';
}

这是配置文件夹中的主目录

<?php
$params = array_merge(
require(__DIR__ . '/../../common/config/params.php'),
require(__DIR__ . '/../../common/config/params-local.php'),
require(__DIR__ . '/params.php'),
require(__DIR__ . '/params-local.php')
);

return [
'id' => 'app-backend',
'basePath' => dirname(__DIR__),
'controllerNamespace' => 'backend\controllers',
'bootstrap' => ['log'],
'modules' => [
     'api' => [
        'class' => 'backend\modules\api\Api',                     
    ],
  ],
'components' => [
    'request' => [
        'csrfParam' => '_csrf-backend',
    ],
    'user' => [
        'identityClass' => 'common\models\User',
        'enableAutoLogin' => true,
        'identityCookie' => ['name' => '_identity-backend', 'httpOnly' => true],
    ],
    'session' => [
        // this is the name of the session cookie used for login on the backend
        'name' => 'advanced-backend',
    ],
    'log' => [
        'traceLevel' => YII_DEBUG ? 3 : 0,
        'targets' => [
            [
                'class' => 'yii\log\FileTarget',
                'levels' => ['error', 'warning'],
            ],
        ],
    ],
    'errorHandler' => [
        'errorAction' => 'site/error',
    ],

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


],
'params' => $params,
  ];

【问题讨论】:

标签: php yii2 frameworks crud postman


【解决方案1】:

您必须将参数pluralize 设置为false

   'rules' => [
        [
            'class' => 'yii\rest\UrlRule',
            'controller' => 'test',
            'pluralize' => false,
        ],
    ],

或者尝试通过 URL 访问它:127.0.0.1/advanced/backend/web/tests

更多关于pluralizehere

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-04
    • 1970-01-01
    • 1970-01-01
    • 2011-04-10
    • 2021-02-27
    • 2021-10-14
    • 1970-01-01
    相关资源
    最近更新 更多