私はこのチュートリアルに従っています
http://learncooltech.com/yii2-angular-how-to-create-single-page-application-in-minutes/
このチュートリアルが機能するようになり、GET /books: list all books page by page; が表示されるようになりました。
ただし、いくつかのエンドポイントを作成したいので、コントローラーにメソッド テストを追加しましたが、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>