【CakePHP3】APIを作ろうとしてエラーが出て混乱の極み…。
CakePHP3でAPIを作ろうと思ってちょっと苦労をしてしまいました・・。
クライアンからajaxでリクエストを送ると、なにかデータを返してくれるという簡単なものを作ろうとしたんですが、
CakePHPのエラーログに「Controller action can only return an instance of Response」と出てきて、どうしても処理に失敗していまいます・・。
↓公式ページの例文どうりに作ってるはずなんですが、どうもエラーの原因が分かりません・・。
https://book.cakephp.org/3.0/ja/views/json-and-xml-views.html
散々悩んだ挙句にとてもくだらない理由が判明しました・・。
以下のコードの「$array[$i]」の箇所ですが、$iが存在しない配列を参照していたためでした・・。
class HogegeController extends AppController
{
public function api()
{
・・・
$hoge_id = $array[$i];
//結果を返却
$result['status'] = "ok";
$result['id"] = $hoge_id;
$this->set(compact('result'));
$this->set('_serialize', ['result']);
}なんだかすごいエラーログが出てきて「データビューの使い方を間違っているのか?」などと混乱してしまったんですが、結局その手前でしくじっていたということなんですね・・。
あ~くだらな。