2016-06-01 7 views
0

Я после этой обучающейкроме того, по умолчанию конечной точкой создания пользовательских конечных точек

http://learncooltech.com/yii2-angular-how-to-create-single-page-application-in-minutes/

Я получил этот учебник, чтобы работать, и теперь я могу видеть GET/книги: список всех книг страницы постранично;

Однако, теперь я хочу, чтобы создать несколько конечных точек и в моем контроллере я добавил тест метод, но я получаю 404. вот мой контроллер

namespace app\controllers; 

use yii\rest\ActiveController; 

class BookController extends ActiveController 
{ 
    public $modelClass = 'app\models\Book'; 

    public function behaviors() 
    { 
     return 
     \yii\helpers\ArrayHelper::merge(parent::behaviors(), [ 
      'corsFilter' => [ 
       'class' => \yii\filters\Cors::className(), 
      ], 
     ]); 
    } 


    public function actionTest(){ 
     return json_encode(array("name"=>"John Doe")); 
    } 

} 

У меня есть это как мой urlRule

'urlManager' => [ 
      'enablePrettyUrl' => true, 
      'enableStrictParsing' => true, 
      'showScriptName' => false, 
      'rules' => [ 
       ['class' => 'yii\rest\UrlRule', 'controller' => ['book']], 
      ], 
     ], 

и я делаю

http://localhost/events/test 

, чтобы добраться до конечной точки

и я получаю это

<head> 
     <meta charset="UTF-8"> 
     <meta name="viewport" content="width=device-width, initial-scale=1"> 
     <meta name="csrf-param" content="_csrf"> 
     <meta name="csrf-token" content="cWdHTlZnWE8uNn5jEDQVHwZXJDcUIykKADUjAgM/Ei4dXn4mOAwNCg=="> 
     <title>Not Found (#404)</title> 
     <link href="/assets/a7503887/css/bootstrap.css" rel="stylesheet"> 
     <link href="/css/site.css" rel="stylesheet"> 
    </head> 
    <body> 

ответ

0

получил это работает, изменяя правила для этого

'rules' => [ 
       ['class' => 'yii\rest\UrlRule', 'controller' => 
        ['book'], 
        'extraPatterns' => [ 
          'GET test' => 'test', 
       ], 
       ], 

 Смежные вопросы

  • Нет связанных вопросов^_^