2017-10-01 1 views
1

hallo ich versuche, eine api zum ersten mal zu machen, und ich benutze postman, um ergebnis anzuzeigen aber es gibt einen fehler, wenn ich POST den fehler ist {"nachricht": "Methode nicht erlaubt url kann nur behandeln die folgenden Anforderungsmethoden: GET, HEAD ",}über yii2 framework und rest api

das ist mein Controller

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

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

und das ist das wichtigste in Config-Ordner

<?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, 
    ]; 
+1

Auf welche URL möchten Sie zugreifen? – Yupik

+0

http://127.0.0.1/advanced/backend/web/test –

+0

Und Sie möchten auf 'actionCreate() ', richtig ?, – Yupik

Antwort

0

Sie haben zu setzen. Parameter pluralize bis false:

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

Oder versuchen Sie es durch URL zuzugreifen: 127.0.0.1/advanced/backend/web/tests.

Mehr über pluralizehere.

+0

Thaannks seine Arbeit erstellen –