Custom API controllers
While convenient, yii\rest\ActiveController
doesn't solve every problem with creating APIs. When not using yii\rest\ActiveController
, you'll want to extend your controller classes from yii\rest\Controller
in order to take full advantage the built-in REST API defaults implemented by yii\rest\Controller
. The following sections illustrate some additional information on creating custom API controllers.
Returning data
There are several way in which we can think about custom API controllers in Yii2. The easiest way to think about passing data to our clients is to bypass the view portion of our MVC model and directly return data from our controllers. For example, if we were to create a new controller called SiteController
within our controller's namespace, we could directly return data from our newly created controller, as follows:
<?php namespace app\controllers; use Yii; class SiteController extends \yii\rest\Controller { public function actionIndex() { ...