Я создаю API, используя CakePHP.CakePHP API PUT с входом JSON
Я хочу использовать PUT из своего мобильного приложения для обновления данных. Формат является JSON в качестве входных данных, но $ this-> data кажется нулевым.
Я называю этот адрес (как указано в документации) из моего приложения: /recipes/123.json
И в моих «рецептов» (или любой другой), у меня есть следующий контроллер:
function edit($id = null) {
$this->User->id = $id;
if (empty($this->data)) {
$this->data = $this->User->read();
$message = array('StatusCode' => 999, 'ERROR' => "");
} else {
if ($this->User->save($this->data)) {
$message = array('StatusCode' => 200, 'ErrorCode' => "");
} else {
$message = array('StatusCode' => 400, 'ErrorCode' => "UnknownError");
}
}
$this->set(compact("message"));
$this->set('albums', $this->User->Album->find('list'));
}
Я правильно получаю ответ JSON в своем приложении, однако я получаю ошибку 999 - это означает, что данные $ this-> пусты. В моей функции добавления в моем контроллере, где он получает JSON, используя POST - данные $ this-> присваиваются правильно. И о, если я использую POST вместо PUT в моем редактировании - данные $ this-> устанавливаются, но я не могу сохранить данные.
Итак, как это сделать? : S
Сделайте print_r() из $ this-> params и посмотрите, где на самом деле заканчиваются данные JSON; я не верю, что данные из PUT будут доступны в $ this-> data (только данные, которые были опубликованы) ... –