2017-03-27 1 views
0

ActiveController 및 기본 인증을 사용하여 Yii2-Basic에서 RESTful API를 코딩했습니다. GET 메소드가 작동하도록 할 수는 있지만 Postman Chrome Extension을 사용하여 Post를 시도하면 "Method Not Allowed.이 URL은 GET, HEAD."와 같은 요청 메소드 만 처리 할 수 ​​있습니다. "라는 오류가 발생합니다.Yii2 RESTful API로 작동하는 POST를 얻을 수 없습니다.

테스트하려면 웹 서버에 아무 것도 구성해야합니까? 아니면 컨트롤러에 추가 기능이 필요합니까? 나는 심지어 두 개의 열이있는 매우 간단한 테이블로 이것을 시도하고 또 다른 질문에서 암시되는 것처럼 안전한 것으로 열을 설정했습니다.

이 점에 대해 도움을 주시면 감사하겠습니다. 다음은 내 현재 코드 :

<?php 
namespace app\controllers; 

use yii\rest\ActiveController; 
use yii\filters\auth\HttpBasicAuth; 

class TestController extends ActiveController 
{ 
    public $modelClass = 'app\models\Test'; 

    public function behaviors() 
    { 
     $behaviors = parent::behaviors(); 
     $behaviors['authenticator'] = [ 
      'class' => HttpBasicAuth::className(), 
     ]; 
     return $behaviors; 
    } 
} 

내가 테스트에 사용하고있는 URL은 다음과 같습니다 http://localhost/test

답변

1

봅니다 splicitly 액션에 대한 POST 메서드를 허용하기 :

$behaviors['verbs'] = [ 
       'class' => \yii\filters\VerbFilter::className(), 
       'actions' => [ 
        'index' => ['post'], 
       ], 
      ]; 
관련 문제