我正在使用CakePHP构建API.
我想从我的移动应用程序中使用PUT来更新数据.格式为JSON作为输入,但$ this-> data似乎为null.
我从我的应用程序中调用此url(在文档中指定):/ 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'));
}
Run Code Online (Sandbox Code Playgroud)
我正确地在我的应用程序中收到JSON响应但是我得到了999错误 - 意味着$ this->数据为空.在我的控制器中的add函数中,它使用POST接收JSON - $ this->数据被正确分配.哦,如果我在编辑中使用POST而不是PUT - $ this->数据设置,但我无法保存数据..
那么..我该怎么做?:S
小智 5
插入来自luchomolina的链接 http://book.cakephp.org/2.0/en/controllers/request-response.html#accessing-xml-or-json-data
//Get JSON encoded data submitted to a PUT/POST action
$data = $this->request->input('json_decode');
Run Code Online (Sandbox Code Playgroud)
你得到了你的对象
$data->Model->field ...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3820 次 |
| 最近记录: |