RestAPI в yii фрэймворк

348
15 января 2017, 18:35

Решил изучить php фрэймворк - Yii. Столкнулся с проблемой минимальной настройки restAPI. вот, что у меня есть: файл config/web.php

...
'rules' => [
            ['class' => 'yii\rest\UrlRule', 'controller' => 'base']
        ]
...

файл controllers/BaseController.php

...
    namespace app\controllers;
    use yii\rest\ActiveController;
    class BaseController extends ActiveController
    {
        public $modelClass = 'app\models\Base';
    }
...

файл models/Base.php

namespace app\models;

class Base extends \yii\db\ActiveRecord { public $id; public $id_user; public $name; public $hidden;

}

подключение к базе есть.

по запросу GET localhost/bases получаю в ответ список объектов из базы, НО почему-то все их поля равны null когда пытаюсь создать новый объект с помощью POST localhost/bases , то без разницы, что я передаю в параметрах, создаётся новая строка в базе, но все поля в ней равны null

в чём может быть проблема?

Answer 1

решил вопрос таким образом

добавил в контроллер метод

public function actionList() {
  return Base::find()->asArray()->all();
}

а в роуте

[
    'class' => 'yii\rest\UrlRule',
    'controller' => 'base',
    'extraPatterns' => [
         'GET list' => 'list',
    ],
]

теперь по запросу localhost/base/list получаю нормальный список

не совсем restAPI в итоге, но тоже решение

READ ALSO
Конвертация base64 в binary

Конвертация base64 в binary

Как в PHP конвертировать base64 в binary?

310
Найти самое длинное слово из строки

Найти самое длинное слово из строки

Что нужно поправить в моём скрипте, чтобы он искал 3 самых длинных слова в строке?

692