CakePHP4でJSONを返すようなAPIを作る方法

やり方

コントローラー内で以下のようにするとできます。

function apiiii()
{
    $json = '{"name":"John", "age":30, "car":null}';

    $response = $this->response;
    $response = $response->withStringBody($json);
    $response = $response->withType('json');
    return $response;
}

ほかのやり方

好みではないやり方

ちなみに以下のようなを見かけることがありますが、responseを返すとautoRenderがされなくなるので上のほうがスマートな気がします。

それと下だとヘッダー情報がつかなかったりするような気がします。(たぶん)

$this->autoRender = false;
echo '{"name":"John", "age":30, "car":null}';
公式はこの辺りが参考になります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です