Я пытаюсь вызвать данные из API, которые отлично работают в Postman и jquery, у него есть имя ключа API «APP_KEY», которое должно быть отправлено в виде заголовка, иначе данные API не могут быть доступны, я пытаюсь получить данные с использованием HTTP-клиента Guzzle Но он не отправляет заголовок,

Вот заголовок, который нужно передать:

APP_KEY=>QAWLhIK2p5

Вот часть контроллера:

$client = new Client();
      $body['headers']= array('APP_KEY'=>'QAWLhIK2p5');
      $response = $client->GET('http://localhost:1080/busy/public/api/material',$body);
      //dd($response->getStatusCode());

      print_r($data = $response->getResponse()->getContents());

Подскажите, пожалуйста, как мне отправить заголовок со ссылкой на API

Любая помощь будет высоко оценен

Вот почтальон ss введите описание изображения здесь

0
Swarnadeep 6 Окт 2020 в 00:13

1 ответ

Лучший ответ

Вы также должны использовать guzzle в качестве тега, я бы ответил в тот же день, вам нужно изменить свой код,

use GuzzleHttp\Client;
use GuzzleHttp\Exception\RequestException;


public function yourFunction()
{
    try {
        $client = new Client();
        $guzzleResponse = $client->get(
                'http://localhost:1080/busy/public/api/material', [
                'headers' => [
                    'APP_KEY'=>'QAWLhIK2p5'
                ],
            ]);
        if ($guzzleResponse->getStatusCode() == 200) {
            $response = json_decode($guzzleResponse->getBody(),true);
        }
        
    } catch (RequestException $e) {
        // you can catch here 400 response errors and 500 response errors
        // see this https://stackoverflow.com/questions/25040436/guzzle-handle-400-bad-request/25040600
    } catch(Exception $e){
        //other errors 
    }
}

Это так просто, для получения дополнительной информации просто просмотрите документы

1
bhucho 16 Окт 2020 в 22:48