CakePHP 2.3.5 を使用して RESTful サービスを作成しようとしています。これまでのところ、作業中のリソースの GET 関数を正常に作成できました。example.com/areas.json
またはにGET リクエストを送信するexample.com/areas/1.json
と、データベース内のデータが返されます。
ただし、編集機能を機能させようとし始めました。からの受信データを単純に保存する単純な編集メソッドを作成しました$this->request->data
。Postman を使用して機能をテストし、生の JSON を PUT または POST 経由で送信example.com/areas/1.json
して、データを保存できなかったというメッセージを返します。メソッドが失敗したときに詳細情報を送信するようにしまし$this->request->data
た$this->data
。
この問題または同様の問題の解決策をインターネットで検索してきましたが、これまで試したことはすべて失敗に終わりました。CSRFチェックの無効化、SecurityComponentの完全な無効化、およびセキュリティに関連する他の複数の修正を試みました。それらのいずれかを変更すると、リクエストがブラックホール化されました。
CakePHP が JSON データをリクエストに受け入れるようにするには、他に何を試みることができるかについて考えている人はいますか? 役立つ場合に備えて、編集機能を以下に含めます。
public function edit($id)
{
$this->Area->id = $id;
$message['request-data'] = $this->request->data;
if ($this->Area->save($this->request->data)) {
$message['response'] = $this->Area->findById($id);
} else {
$message['response'] = "Error";
}
$this->set(array(
'message' => $message,
'_serialize' => array('message')
));
}