IT-Q

ルーティングはどこに書きますか。

web.php にはセッションと CSRF 保護が、api.php にはステートレス前提のグループが適用されます。なお Laravel 11 以降、api.php は install:api を実行するまで存在しません。

面接官が見ているのはアプリの入口を把握しているか。既存コードを読む起点にもなる。

よくある答えと、面談でどう見られるか

  • routes/ ディレクトリ(web.php / api.php など)
    その通りです。既存コードを読むときも、ここから辿るのが一番早いです。
  • 各コントローラの中にアノテーションで書く
    それは Symfony などの流儀です。Laravel は routes/ に集約します。
  • config/app.php
    そこはアプリ全体の設定です。
  • .htaccess
    個別のルート定義は書きません。

模範解答

routes/web.php(画面)と routes/api.php(API)が基本です。

web.php にはセッションとCSRF保護が効くミドルウェアグループが、api.php にはステートレス前提のグループが適用されます。この違いを意識せずに混ぜると、CSRF まわりで詰まります。

なお Laravel 11 以降、routes/api.php は最初から在るわけではありません。php artisan install:api を実行すると作られます(同時に Sanctum も入ります)。「api.php が無い」と焦る前に、まずここを確認してください。

既存の Laravel コードを読むときも、まず routes/ を見ると「このアプリが何を受け付けるか」の一覧になっているので効率的です。