Sma*_*ndy 6 symfony symfony-http-client
我使用 Symfony HttpClient 来调用外部 api。当 statusCode 为 200 时,我可以使用getContent()方法来检索 API 响应。如果 API 响应为 400,则抛出 ClientException 并且我无法获取外部 API 消息。
$httpClient = HttpClient::create();
$response = $httpClient->request($method, $url);
if (200 !== $response->getStatusCode()) {
$apiResponse['statusCode'] = $response->getStatusCode();
$httpInfo = $response->getInfo();
$content = $response->getContent(); //this throws ClientException
}
Run Code Online (Sandbox Code Playgroud)
您可以使用
$response->getContent(false)
Run Code Online (Sandbox Code Playgroud)
得到响应而不是抛出错误。
代码说明:
public function getContent(bool $throw = true): string
Run Code Online (Sandbox Code Playgroud)
请注意,您在这里失去了 HttpClient 为您提供的一些非常有意义的包装功能。
| 归档时间: |
|
| 查看次数: |
1482 次 |
| 最近记录: |