Как я могу использовать HttpFactory в Joomla? - PullRequest
1 голос
/ 18 июня 2020

Я использовал curl в Joomla,

curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Content-Type: application/json',
        'X-API-KEY:' . $api_key,
        'X-SANDBOX:' . $sandbox,
));

, но теперь я использую HttpFactory для запроса к api:

$options = array(
    'Content-Type: application/json',
    'X-API-KEY:' . $api_key,
    'X-SANDBOX:' . $sandbox,
 );
 $answer = $this->http->post($url,json_encode($data,true),$options);

мое тело результата:

Неподдерживаемый тип содержимого запроса application / x- www-form-urlencoded "

почему?

1 Ответ

1 голос
/ 18 июня 2020

Ваш массив $options должен быть ассоциативным массивом, подобным следующему:

$options = array(
    'Content-Type' => 'application/json',
    'X-API-KEY' => $api_key,
    'X-SANDBOX' => $sandbox,
);

Краткое объяснение: 3-й параметр метода post() в классе Http ожидает $headers информация в заданном формате c:

Массив пар имя-значение для включения в заголовок запроса.

Ссылка на документацию Joomla

Вы можете получить помощь Joomla от многих экспертов на Joomla Stack Exchange: https://joomla.stackexchange.com/

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