Не удается получить сообщение об ошибке с помощью Symfony HttpClient - PullRequest
1 голос
/ 08 октября 2019

Я использую Symfony HttpClient для вызова внешнего API. Когда stastusCode равен 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
}

1 Ответ

0 голосов
/ 08 октября 2019

Вы можете использовать

$response->getContent(false)

, чтобы получить ответ, а не выдать ошибку.

Объяснение из кода:

    public function getContent(bool $throw = true): string

Обратите внимание, что вы теряете немногоHttpClient предоставляет вам очень полезные функции упаковки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...