【Laravel】【初心者向け】Laravel8でWeb APIを作る

2021年6月25日

こんにちは。本日はLaravel8でWeb APIを作る方法を解説します。初心者向けの内容となりますので、簡単なサンプルを作りながら解説していきたいと思います。

環境

Laravel 8.44.0

概要

適当なJSONを返すだけのWeb APIを作ります。

手順

Controllerを作成する

artisanコマンドでControllerの雛形を作成します。

php artisan make:controller SampleController

app/Http/Controllersフォルダの配下にSampleControllerが作成されました。次に適当なjsonを返すメソッドを定義していきます。

class SampleController extends Controller
{
    //
    public function getJson(){
        return response()->json(['name' => 'john']);
    }
}

response->jsonメソッドの引数に適当な連想配列を設定すると、その連想配列がjson化されレスポンスとして返されます。

ルーティングを作る

次にルーティングを作ります。ルーティングとは、URLと処理の紐付けを定義することです。今回は"sample"というURLにリクエストがあったら、先程作ったSampleControllerのgetJsonメソッドを呼び出すように設定します。

use App\Http\Controllers\SampleController;
Route::get('sample', [SampleController::class, 'getJson']);

Laravel7以前とルーティングの定義方法が変わったので、以前の書き方に慣れている人は注意が必要です。(以前の書き方だと動きません!)

以上でコーディングは終了です。実際に動かしてみましょう。

動作検証

php artisan serveでビルドインサーバーを立ち上げます。ブラウザからhttp://localhost:8000/sampleにアクセスします。サンプルの通りに作成すると次のデータが表示されます。

{"name":"john"}

まとめ

今回作成したWeb APIは最小限のサンプルなので実用的な機能とは言えませんが、なんとなく作り方は理解いただけたでしょうか。今後も機会があればもう少しWeb APIの話を掘り下げて記事にしていこうと思います。

Laravel

Posted by kobainmac