我正在使用laravel 5.7构建API REST。
当我将verified
中间件添加到路由组中,并尝试通过客户端api使用未经验证的用户登录时,出现错误400
Bad request
。此错误过于笼统,无法为我的客户清楚地显示问题(在登录表单中发生)。
如果我在render()
中编辑Handler.php
方法以忽略isApiCall()
并返回parent::render($request, $e);
,那么我将得到完整的错误(Your email address is not verified
,状态403
),但是当我尝试使用response()->json([$e])
在json对象中返回此值时,响应始终为空。
在这种情况下,如何正确处理api错误以从异常返回完整消息?
答案 0 :(得分:0)
您可能已经解决了此问题,但是此解决方案可能会帮助其他人:
您的响应返回空数组的原因是因为您正在将Exception类型的对象传递给需要数组的json函数。响应应如下所示:
return response()->json(['message' => $e->getMessage()]);
这将返回json响应,如:
{
"message": "Your email address is not verified"
}