【Laravel】APIのルーティングを設定するapi.phpの概要を解説します

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

この記事では、 LaravelのAPIのルーティングを設定するapi.phpの概要を丁寧に解説していきます。

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

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

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

この記事では

C:\Laravel\LaravelSample

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

api.phpとは

api.phpとは、APIでリクエストされたURLに対してルーティングを定義することができるファイルです。
ルーティングとは、リクエストされたURLに応じて

  • コントローラーに処理を渡す
  • 直接ビューを呼び出す

などを決めることです。

インストールした直後は↓のように記載されています。

api.phpは

プロジェクト\routes\api.php

に格納されています。

api.phpの基本的なルーティングの書き方

api.phpの基本的なルーティングの書き方は以下になります。

ルーティングで使いたいコントローラーは

と宣言しておきます。

Route::getのところが何を意味しているか?というと下画像になります。

例としてgetをあげていますが、ほかにも

  • post
  • put
  • patch
  • delete
  • options

を設定することができます。

コントローラーへのルーティングの詳しい説明や、そのほかのルーティングの書き方は、以下の記事をご参考ください。

APIのルーティングでWebと異なる箇所があります。
それは、【/api】URIプレフィックスがデフォルトで自動的に適用されることです。
どういうことか解説します。
以下のようにルーティングをapi.phpに定義したとします。

web.phpに定義していたならば、【http://localhost:8000/showvalue】のURIが正解です。
しかしAPIだと、【http://localhost:8000/api/showvalue】というURIになります。
APIのルーティングはお気を付けください。

Laravelのバージョン7までとバージョン8でもルーティングの書き方が異なります
バージョン7までは

という書き方でした。
バージョン8から上記の書き方でルーティングの設定をしていると、Target class [○○Controller] does not exist.というエラーメッセージが表示されてしまいます。
エラーについては、こちらの記事をご参考ください。

まとめ:APIのルーティングはapi.phpで設定する

以上がLaravelのAPIのルーティングを設定するapi.phpの概要でした!

同じようにWebのルーティングを定義するweb.phpについては、以下の記事をご参考ください。

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

コメント

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