【发布时间】:2022-12-25 17:52:30
【问题描述】:
构建一个简单的 Lumen API,从 WooCommerce 获取 webhook 负载。当我的 API 返回 500“内部错误响应”时,出于可靠性考虑,WooCommerce 会自动关闭 webhook。我觉得这对我来说有点问题。
我希望我的 Lumen API 返回异常,例如像通常那样的错误,但总是带有 200 状态代码,而不是(例如)500 或 404。
我了解到我需要调整 /App/Exceptions/Handler.php,更具体地说是 render() 方法。它包含行:return parent::render($request, $exception);,它生成并返回典型的、有用的 Laravel/Lumen 错误数据。
(如何)我可以让我的应用程序返回同样有用的错误数据,但带有 HTTP 200 状态代码而不是 500 或任何其他状态代码?也许像下面这样的东西(顺便说一句,render() 方法直接渲染,而不是实际返回一个字符串,这不起作用)。
return response(parent::render($request, $exception), 200);
【问题讨论】: