123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- <?php
- namespace api\common\controllers;
- use api\common\behaviors\ValidateBehavior;
- use common\enums\CodeEnum;
- use Yii;
- use yii\filters\Cors;
- use yii\rest\Serializer;
- use yii\web\ServerErrorHttpException;
- class Controller extends \yii\rest\Controller
- {
-
- public $serializer = [
- 'class' => 'yii\rest\Serializer',
- 'collectionEnvelope' => 'data'
- ];
- public function behaviors()
- {
- $behaviors = parent::behaviors();
- unset($behaviors['contentNegotiator']);
- $behaviors['cors'] = [
- 'class' => Cors::className(),
- ];
- $behaviors['validate'] = ValidateBehavior::className();
- return $behaviors;
- }
-
- protected function serializeData($data)
- {
-
- $serializer = Yii::createObject($this->serializer);
- if (is_array($data) && isset($data['data'])) {
- $data['data'] = $serializer->serialize($data['data']);
- }
-
- $data = $serializer->serialize($data);
-
- $data['version'] = Yii::$app->config->get('version');
- return $data;
- }
- }
|