Jos*_*ick 4 laravel guzzle laravel-5 laravel-5.1
我正在使用Laravel 5.1和Guzzle发送API请求.
我有两个函数,一个用于获取一个人,另一个用于检索有关该人的数据,因为每个函数都是一个单独的请求.
如果没有找到任何404响应代码被发回并由laravel拾取.
然而,来自函数1的404响应与来自函数2的响应具有不同的含义,即使它们是相同的响应代码和异常而是guzzle.
我试图在方法的控制器中捕获错误,希望它会在laravels异常处理程序之前捕获它,但它似乎不起作用并被处理程序捕获.
如何在Laravels异常处理程序之前在控制器中捕获异常?
在Controller的顶部添加:
use GuzzleHttp\Exception\RequestException;
Run Code Online (Sandbox Code Playgroud)
像你这样尝试抓住你的请求:
try {
$client->get('https://github.com/_abc_123_404');
} catch (RequestException $e) {
echo $e->getRequest();
if ($e->hasResponse()) {
echo $e->getResponse();
}
}
Run Code Online (Sandbox Code Playgroud)
你可以捕获任何Guzzle异常,如果你只想捕获404,那么你可以尝试ClientException在你的控制器的顶部使用,并抓住它,这个异常扩展BadResponseException,反过来扩展RequestException.有关详细信息,请参阅文档.
| 归档时间: |
|
| 查看次数: |
987 次 |
| 最近记录: |