从 Laravel 发送自定义 500 http 响应

Abd*_*K P 5 laravel laravel-5

我想发送状态为 500 的自定义 http 响应。尝试了以下代码,但它返回的状态为 200。

return response()
            ->json([
                'code'      =>  500,
                 'message'   =>  'custom error'
            ], 500);
Run Code Online (Sandbox Code Playgroud)

如何从 laravel 控制器发送 http 状态 500?

Jos*_*osh 10

尝试这个。

return abort(500, 'custom error');
Run Code Online (Sandbox Code Playgroud)

欲了解更多信息:

https://laravel.com/docs/5.7/errors#http-exceptions

希望这可以帮助

更新

那么试试这个

return response()->json(['message' => 'error message'], 500);
Run Code Online (Sandbox Code Playgroud)

这将发送 500 状态代码而不是 200

欲了解更多信息:

https://laravel.com/api/5.7/Illuminate/Contracts/Routing/ResponseFactory.html#method_json

希望有帮助。