2016-05-11 7 views
1

が見つかりません私はこのhttp://budiirawan.com/setup-restful-api-yii2/からのRESTful APIモジュールをインストールしようと私が見つかりませんエラーYii2安らかAPIオブジェクトは、エラー

オブジェクトを取得しています!

mod_rewriteAllowOverride Allの設定を試しました。

また、正しいデータベースに接続しており、そのデータベースにはcountryというテーブルがあります。

私もここ.htaccessファイルとを持ってここに私のapi/config/main.phpファイル

<?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-api', 
'basePath' => dirname(__DIR__), 
'bootstrap' => ['log'], 
'modules' => [ 
    'v1' => [ 
     'basePath' => '@app/modules/v1', 
     'class' => 'api\modules\v1\Module' 
    ] 
], 
'components' => [ 
    'user' => [ 
     'identityClass' => 'common\models\User', 
     'enableAutoLogin' => false, 
    ], 
    'log' => [ 
     'traceLevel' => YII_DEBUG ? 3 : 0, 
     'targets' => [ 
      [ 
       'class' => 'yii\log\FileTarget', 
       'levels' => ['error', 'warning'], 
      ], 
     ], 
    ], 
    'urlManager' => [ 
     'enablePrettyUrl' => true, 
     'enableStrictParsing' => true, 
     'showScriptName' => false, 
     'rules' => [ 
      [ 
       'class' => 'yii\rest\UrlRule', 
       'controller' => 'v1/country', 
       'tokens' => [ 
        '{id}' => '<id:\\w+>' 
       ] 
      ] 
     ], 
    ] 
], 
'params' => $params, 
];  

http://localhost/yii2-api/api/v1/countriesからアクセスしながら、私はまだ同じエラーを取得したモデルCountry

<?php 

namespace api\modules\v1\models; 

use yii\db\ActiveRecord; 
/** 
* Country Model 
* 
* @author Budi Irawan <[email protected]> 
*/ 
class Country extends ActiveRecord 
{ 
/** 
* @inheritdoc 
*/ 
public static function tableName() 
{ 
    return 'country'; 
} 

/** 
* We use the primary function because we don't use integer auto increment as a primary key. 
* @inheritdoc 
*/ 
public static function primaryKey() 
{ 
    return ['code']; 
} 

/** 
* To let Yii know what fields exist on the table. 
* Define rules for validation 
*/ 
public function rules() 
{ 
    return [ 
     [['code', 'name', 'population'], 'required'] 
    ]; 
} 
} 

です。

答えて

1

URLを使用する必要がチュートリアルによると:

http://localhost/yii2-api/api/web/v1/countries 

代わりの

http://localhost/yii2-api/api/v1/countries 
関連する問題