http://book.cakephp.org/2.0/ja/views/json-and-xml-views.html
1.ルーターの設定をする。 Router::parseExtensions('json');
2.コントローラーで、RequestHandlerComponent を有効にする。 public $components = array('RequestHandler');
3.ビューは、専用のビューを使うか、シリアライズするかのどちらか。
/** * add method * JSONでデータを受け取ってJSONで登録結果を返す */ public function add(){ if ($this->request->is('post')){ $data = $this->request->input('json_decode'); if($data){ //$this->log($data); //debug用 $this->Customer->create(); $this->Customer->set($data); //バリデーションチェック if($this->Customer->validates()){ if ($this->Customer->save($data)){ $this->set('msg', true); $this->set('_serialize', array('msg')); }else{ $this->set('msg', false); $this->set('_serialize', array('msg')); } //バリデーションエラー }else{ //$this->log($this->Customer->validationErrors); //debug用 $this->set('error', $this->Customer->validationErrors); $this->set('_serialize', array('error')); } } } }
4.URLは、パス+.jsonとする。 (例)/users/add.json