我只有api laravel项目.如果我通过设置APP_DEBUG=false
来关闭.env
文件中的调试模式,我的应用程序就会抛出Server error
来处理不应该向用户显示的错误.
但是它返回如下json响应:
{
"message": "Server Error"
}
我想把密码 keys 加到屁股上.我想要实现的目标是:
{
"code": 500,
"message": "Server Error"
}
我到目前为止所try 的(Handler
的register
种方法):
$this->renderable(function (Throwable|Exception $e) {
return response()->json([
'code' => $e->getCode(),
'message' => $e->getMessage()
], $e->getCode());
});
但这将返回不应该显示给用户的异常消息.我需要这样的史密斯:
$this->renderable(function (Throwable|Exception $e) {
// ReportableException doesn't exist in laravel
if($e instanceof ReportableException){
return response()->json([
'code' => 500,
'message' => 'Server error'
], 500);
}
return response()->json([
'code' => $e->getCode(),
'message' => $e->getMessage()
], $e->getCode());
});