1

我正在使用 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),但是当我尝试在 json 对象中返回它时response()->json([$e]),响应总是空的。

在此处输入图像描述 在此处输入图像描述

那么如何正确处理api错误以从异常中返回完整消息,在这种情况下呢?

4

1 回答 1

0

您可能已经解决了这个问题,但这个解决方案可能对其他人有帮助:

您的响应返回空数组的原因是因为您将 Exception 类型的对象传递给期望数组的 json 函数。响应应如下所示:

return response()->json(['message' => $e->getMessage()]);

这将返回一个 json 响应,如:

{
"message": "Your email address is not verified"
}
于 2019-06-06T22:13:45.870 回答