Bladeren bron

fix: api/* 的异常一律返回 JSON

框架默认只在客户端声明 Accept: application/json 时才回 JSON,否则校验失败
会 302 跳首页——客户端跟随重定向拿到一张 HTML,比拿到错误码更难排查。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
visuddhinanda 1 week geleden
bovenliggende
commit
952e47b52e
1 gewijzigde bestanden met toevoegingen van 6 en 1 verwijderingen
  1. 6 1
      api-v13/bootstrap/app.php

+ 6 - 1
api-v13/bootstrap/app.php

@@ -37,5 +37,10 @@ return Application::configure(basePath: dirname(__DIR__))
         ]);
         ]);
     })
     })
     ->withExceptions(function (Exceptions $exceptions): void {
     ->withExceptions(function (Exceptions $exceptions): void {
-        //
+        // api/* 一律回 JSON。默认只在客户端声明 Accept: application/json 时才回 JSON,
+        // 否则校验失败会 302 跳首页——客户端跟随重定向就拿到一张 HTML,
+        // 比拿到错误码更难排查。
+        $exceptions->shouldRenderJsonWhen(
+            fn ($request, Throwable $e): bool => $request->is('api/*') || $request->expectsJson()
+        );
     })->create();
     })->create();