LoginSignup
20
16

More than 3 years have passed since last update.

Laravelでabortをつかってjsonを返す

Last updated at Posted at 2019-10-27

はじめに

LaravelではabortというHTTP例外を投げるヘルパが存在します
https://readouble.com/laravel/6.0/ja/errors.html#http-exceptions

通常のHTTP例外を返すのによく使われていますが、jsonの例外を投げるのにも使えることを知ったのでそのメモです

jsonによる例外

結論から言うとresponseインスタンスからjsonを作ってそれをそのままabortに食わっせるだけでおkです

独自で例外作ってhanderに食わせるのもなーってときに使えるのはとても便利
abort全般で使えます

abort(response()->json(['message' => 'error!'], 400));

abort_if('hoge' === 'hoge', response()->json(['message' => 'error!'], 400));

abort_unless('hoge' !== 'hoge', response()->json(['message' => 'error!'], 400));

responseで渡すゆえにステータスコードの位置が変わるのがわかりにくい

あとがき

検証したのは6.1ですが、5.6以降でもできるようです
詳しい部分は下記参照で(まるなげ)
https://cpoint-lab.co.jp/article/201903/8753/

20
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
16