【问题标题】:Laravel 5.7 Handle email verification errors from APILaravel 5.7 处理来自 API 的电子邮件验证错误
【发布时间】:2019-03-17 04:08:27
【问题描述】:

我正在使用 laravel 5.7 构建 API REST。

当我将 verified 中间件添加到我的路由组并尝试通过我的客户端 api 使用未经验证的用户登录时,我收到错误 400 Bad request。这个错误太笼统了,没有向我的客户清楚地显示问题(它发生在登录表单中)。

如果我在Handler.php 中编辑render() 方法以忽略isApiCall() 并返回parent::render($request, $e);,那么我会得到完整的错误(Your email address is not verified,状态403),但是当我尝试在带有response()->json([$e]) 的json 对象中返回这个,响应总是空的。

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

【问题讨论】:

    标签: api email error-handling laravel-5.7


    【解决方案1】:

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

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

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

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

    {
    "message": "Your email address is not verified"
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-21
      • 1970-01-01
      • 2019-03-05
      • 2019-03-05
      • 2023-03-28
      • 2019-03-04
      • 2019-03-25
      • 1970-01-01
      相关资源
      最近更新 更多