2016-09-05 12 views

答えて

0

yii\rest\UrlRuleを拡張する必要はありません。ただUrlManagerのルートにルールを追加するには、extraPatternsプロパティをyii\rest\UrlRuleに設定します。次に、設定ファイル内の余分なルートを追加

class BarController extends Controller 
{ 
    public $modelClass = 'app\models\Foo'; 

    public function actionList() 
    { 
     return ['id' => 1]; 
    } 
} 

:たとえば

は、あなたがあなたのコントローラでlistアクションを定義したとし

<?php 
// some configs are here 
'urlManager' => [ 
    'class' => 'yii\web\UrlManager', 
    'enablePrettyUrl' => true, 
    'enableStrictParsing' => true, 
    'showScriptName' => false, 
    'rules' => [ 
     [ 
      'class' => 'yii\rest\UrlRule', 
      'controller' => [ 
       'v1/bar', 
      ], 
      'extraPatterns' => [ 
       'GET list' => 'list', 
      ], 
     ], 
    ], 
], 
// and some other configs are here 

今、あなたは/v1/bars/listでAPIを閲覧することができます。より多くの例についてはYii2 Documentationsを読んでください。

+0

私の場合は機能しません。実際には、残りのようにURLを美しくし、ActiveControllerの代わりに通常のコントローラを使用して出力を表現したいだけです。 –

+0

あなたの問題は何ですか? 'ActiveController'は' Controller'から拡張され、すべての親の振る舞いを持ちます。 – meysam

関連する問題