Я создаю API в yii2, все методы работают отлично с помощью метода put
. Я получаю данные в методе before_save
, но получаю ниже ошибки при ее сохранении. тип 500,
»:Yii2 Rest api put метод return Внутренняя ошибка сервера - не удалось обновить объект по неизвестной причине
{ "имя": "Внутренняя ошибка сервера", "сообщение": "Не удалось обновить в объект по неизвестной причине.", "код": 0, "Статус" «: "юй \ Web \ ServerErrorHttpException"}
вот мой контроллер файл
ProductsController.php
<?php
namespace app\controllers;
use yii\rest\ActiveController;
use yii\filters\auth\HttpBearerAuth;
class ProductsController extends ActiveController {
public $modelClass = 'app\models\Product';
public function __construct($id, $module, $config = array()) {
parent::__construct($id, $module, $config);
}
public function behaviors() {
$behaviors = parent::behaviors();
$behaviors['authenticator'] = [
'class' => HttpBearerAuth::className(),
];
return $behaviors;
}
}
Вот файл модели product.php
<?php
namespace app\models;
use yii\db\ActiveRecord;
use yii;
class Product extends ActiveRecord {
public static function tableName() {
return '{{%o2o_products}}';
}
public function rules() {
return [
[['name'], 'required'],
];
}
}
И это мой web.php
'urlManager' => [
'enablePrettyUrl' => true,
'enableStrictParsing' => false,
'showScriptName' => false,
'rules' => [
'<alias:index|about|contact|login>' => 'site/<alias>',
['class' => 'yii\rest\UrlRule', 'controller' => 'user'],
['class' => 'yii\rest\UrlRule', 'controller' => 'products'],
['class' => 'yii\rest\UrlRule', 'controller' => 'orders'],
],
]
Я попытался с удалением rule
с на создание и заявления обновления. но никакого успеха.
Сообщите мне, если вам нужно что-то еще.