laravel8でapiエラーは、全部JSONで返したい!
とりあえず、調べてみたら、app/Exception/Handler.phpに行くみたい。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; public function register() { // ログ出力 $this->reportable(function (Throwable $e) { // }); // 表示(レスポンス) $this->renderable(function (NotFoundHttpException $e, $request) { if ($request->is('api/*')) { return response()->json([ 'message' => 'Record not found.' ], 404); } }); } |
正常系のJSONレスポンスは、コントローラーで直接返すのが正しい?
1 2 3 4 |
public function logout (Request $request) { auth('sanctum')->user()->tokens()->delete(); return response(['message' => 'You have been successfully logged out.'], 200); } |
そうすると、APIレスポンスはJSON統一フォーマットで返してほしいよな~。
こういうのは、どっかに定義されてないのだろうか…。