ITの隊長のブログ

ITの隊長のブログです。Rubyを使って仕事しています。最近も色々やっているお(^ω^ = ^ω^)

【CakePHP3.x】jsonを返すapiを作りたい

スポンサードリンク

追記 2016/12/22

この記事うまくいかないかもしれません。

でかいデータを入れると何故かうまくいかないことが増えました。

www.aipacommander.com

↑のほうがいいかも。追記終わりです。


teratail.com

これの$this->autoRender = false;を使ったほうでやりました。

ただ、echoで返すとそこで処理が中断されないので、そのあとにreturn;が必要だと思います。

<?php
// ... 省略
    public function addItem()
    {
        $this->autoRender = false;
        $this->response->charset('UTF-8');
        $this->response->type('json');
        // ... 省略
            try {
                if ($this->Post->save($posts)) {
                    echo json_encode($posts);
                    return;
                }
            } catch (\PDOException $e) {
            }
        }
        // ... 省略
        echo json_encode([]);
        return;
    }

CakePHP2.xの時はreturnを使って返していたので、若干ハマりました。。。