Pocket
LINEで送る

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

Pocket
LINEで送る

カテゴリー: プログラミング

コメントください

関連記事

プログラミング

Go言語によるビットコインのフルノード実装btcdを調べる(2)

btcdを実行した際のプログラムの流れを最初から確認してみます。 se 続きを読む …

プログラミング

Go – leveldb

Goで使えるLevelDB。 syndtr/goleveldb ドキュ 続きを読む …

%d人のブロガーが「いいね」をつけました。