{ "status": "error", "message": "Неверный метод запроса или неверный
представление данных». }.
Во-первых, я проверил настройки Postman, чтобы убедиться, что для заголовка Content-Type установлено значение application/json. Я также проверил, что тип моего запроса — Post, и что я отправляю данные RAW JSON.
Во-вторых, я изменил свою функцию на чтение необработанных данных. Данные JSON, используя следующий код:
Код: Выделить всё
$data = \Yii::$app->request->getBodyParams();
Код: Выделить всё
\Yii::debug($model->getDirtyAttributes(), 'dirtyAttributes');
\Yii::debug($model->attributes, 'attributesAfterLoad');
[Пн, 30 сентября 12:52:26 2024] [::1]:52291 Закрыто без отправки сообщения
запрос;Вероятно, это было просто неиспользованное спекулятивное предварительное соединение.
Вот мой метод:
Код: Выделить всё
public function actionUpdate($id)
{
$model = $this->findModel($id);
if (\Yii::$app->request->isPut) {
$data = \Yii::$app->request->getBodyParams();
if ($model->load($data, '') && $model->save()) {
return [
'status' => 'success',
'message' => 'Model updated successfully.',
'data' => $model,
];
} else {
return [
'status' => 'error',
'message' => 'Failed to update the model.',
'errors' => $model->errors,
];
}
}
return [
'status' => 'error',
'message' => 'Invalid request method or invalid data submission.',
];
Подробнее здесь: https://stackoverflow.com/questions/790 ... in-yii-php