構建一個簡單的 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);
uj5u.com熱心網友回復:
render() 方法實際上回傳一個回應物件,該物件具有回應 HTML 作為屬性。因此,我上面的努力已經接近解決方案。我只需要從回應物件中檢索 HTML 內容。因此,以下是解決方案:
$response = parent::render($request, $exception);
return response($response->content(), 200);
以下來源特別有用:https ://laravel.com/api/5.5/Illuminate/Http/Response.html 。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/489161.html
下一篇:谷歌地圖查看不同的位置
