【Laravel】APIでjsonを返す実装のやり方を解説します

こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、11年目エンジニアです。

この記事では、 LaravelでAPIでjsonを返す実装のやり方を解説していきます。

APIの基本的な実装のやり方については、こちらの記事をご参考ください。

前提条件:実行環境について

実行環境は以下の通りです。

OS Windows10
PHPのバージョン 8.0.3
Laravelのバージョン 8.42.1
Postmanのバージョン 8.6.2

この記事では

C:\Laravel\LaravelSample

配下にLaravelのプロジェクトを作成しています。

PostmanはAPIのレスポンスを確認するために使います。
インストールするやり方はこちらの記事をご参考ください。

APIでjsonを返す実装のやり方を解説

APIでjsonを返す実装のやり方をサンプルプログラムをまじえて解説します。

jsonを返すには、コントローラーでjsonメソッドというメソッドを使います。
このメソッドはLaravelでのみ使うことができるため、ご注意ください。

jsonメソッドは、以下のように使います。

基本これだけでjsonを返すことができます。
jsonメソッドは指定された配列をPHP関数のjson_encode関数でjsonに変換し、【Content-Type】ヘッダに【application/json】をセットしてくれています。
特に指定しない限り、HTTPステータスは、【200】が返ります。

上記のサンプルでは

というjsonが返ります。

では、次の章で実際に使ってみます。

APIでjsonを返すプログラムの概要

APIでjsonを返すプログラムは、

  • コントローラー
  • api.php

2つを使います。

コントローラーは名前を【SampleController.php】とし、json形式でレスポンスを返します。

api.phpには、【http://〇〇.〇〇.〇〇:8000/sample_path】でアクセスした場合、SampleControllerのapiHello関数を呼ぶように定義します。
ちなみにapi.phpとは、APIのルーティングを定義することができるファイルです。
詳しくはこちらの記事をご参考ください。

コントローラー:SampleController.phpのサンプルプログラム

api.phpのサンプルプログラム

実行して確認

本当にjsonを返すことができているのかを実行して確認します。

まず、Laravelでサーバーを立ち上げます。
コマンドは

です。
サーバーを立ち上げるコマンドの詳細な説明は、こちらの記事をご参考ください。

APIのレスポンスを確認するためにPostmanを起動します。
基本的な使い方については、こちらの記事をご参考ください。

【Get】を選択し、URLは

  • http://〇〇〇.〇〇〇.〇〇〇.〇〇〇:8000/api/sample
    ※コマンドプロンプトに記載されているURL
  • http://localhost:8000/api/sample

のどちらかを設定し、【Send】ボタンを押します。

レスポンスにコントローラーで設定したjsonが返ってきて、HTTPステータスが200であることが確認できました。

【Headers】のタブを選択します。
【Content-Type】ヘッダに【application/json】をセットされていることが確認できました。

まとめ:APIでjsonを返したいときはjsonメソッドを使おう

以上がLaravelでAPIでjsonを返す実装のやり方の解説でした!

あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ

コメント

タイトルとURLをコピーしました