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を読んでください。
私の場合は機能しません。実際には、残りのようにURLを美しくし、ActiveControllerの代わりに通常のコントローラを使用して出力を表現したいだけです。 –
あなたの問題は何ですか? 'ActiveController'は' Controller'から拡張され、すべての親の振る舞いを持ちます。 – meysam