LaravelでJSONレスポンスを返す方法を完全解説!response()->json()の使い方を初心者向けにやさしく説明
生徒
「LaravelでAPIを作ると、JSONを返すって聞いたんですが、JSONって何ですか?」
先生
「JSONは、データを分かりやすくまとめて渡すための書き方です。APIではとてもよく使われます。」
生徒
「画面じゃなくて、データだけ返すってことですか?」
先生
「その通りです。Laravelではresponse()->json()を使うと、簡単にJSONレスポンスを返せます。」
生徒
「パソコン初心者でも理解できますか?」
先生
「住所録に例えながら説明するので、安心してください。」
1. JSONレスポンスとは何か?
JSONレスポンスとは、APIが決まった形のデータを返す仕組みです。 LaravelのAPI開発では、HTML画面ではなく、JSON形式のデータを返すことが一般的です。
JSONは、「名前」と「値」をセットで管理するデータ形式です。 たとえば、住所録のように「名前」「年齢」「電話番号」をひとまとめにして渡します。 この形は、人ではなくプログラムが読みやすいように作られています。
スマートフォンアプリや別のシステムは、このJSONデータを受け取り、 中身を取り出して画面に表示したり、処理に使ったりします。 そのため、LaravelでAPIを作る場合、JSONレスポンスは欠かせません。
2. LaravelでJSONを返すためのresponse()とは?
Laravelには、レスポンスを返すための便利な仕組みが用意されています。
それが response() という機能です。
response()は、「Laravelが結果を返すために用意した箱」のようなものです。 この箱に、文字やデータを入れて返すことで、 ブラウザやアプリに結果を渡すことができます。
JSONを返したい場合は、このresponse()に
json() を組み合わせて使います。
これが response()->json() です。
3. response()->json()の基本的な使い方
それでは、実際にLaravelでJSONレスポンスを返す基本例を見てみましょう。 とてもシンプルなコードなので、初めてでも安心です。
Route::get('/sample', function () {
return response()->json([
'message' => 'こんにちは',
'status' => 'OK'
]);
});
このコードでは、URLにアクセスされたとき、 「message」と「status」という2つのデータをJSON形式で返しています。
配列で書いたデータは、自動的にJSONに変換されます。 難しい設定は必要なく、Laravelがすべて処理してくれます。
{"message":"こんにちは","status":"OK"}
4. JSONレスポンスが使われる場面
JSONレスポンスは、さまざまな場面で使われます。 たとえば、ログイン結果を返したり、 ユーザー情報を取得したりするときです。
画面を表示しないAPIでは、 「成功したか」「失敗したか」「どんなデータか」 といった情報をJSONで伝えます。
LaravelのAPI開発では、 response()->json()を使うことで、 統一された分かりやすいレスポンスを返せるようになります。 これにより、APIを使う側も安心して利用できます。
5. JSONレスポンスを使うメリット
JSONレスポンスを使う最大のメリットは、 データ構造が分かりやすいことです。 項目ごとに意味が決まっているため、 プログラムが正確に情報を読み取れます。
また、Laravelでは書き方が統一されているため、 API開発のルールがぶれにくくなります。 初心者でも、同じ形でコードを書き続けることができます。
response()->json()は、 LaravelでAPIを作る上での基本中の基本です。 この使い方を理解することで、 API開発の全体像が見えてきます。