как звонить с помощью rest_client в codeigniter

Я новичок в CodeIgniter и Rest API. Я пытаюсь внедрить REST API в CodeIgniter и использовал rest-client и rest-server Фила Стерджена. Я просмотрел несколько руководств и успешно реализовал часть Rest-Server (проверка с помощью Chrome Rest Client APP). Но для реализации Rest-Client у меня мало проблем.

Нужно ли мне иметь cURL и библиотеку cUrl CodeIgniter? Если да, то как мне его настроить?

Я тоже смотрел это руководство Фила Стерджена, но в этом руководстве он использовал только функцию Rest-Client для вызова сервера. Но не определил, куда его поставить. Вот код

function rest_client($id){
    $this->load->library('rest', array(
        'server' => 'http://localhost/rest/index.php/restgetcontroller/',

    ));

    $user = $this->rest->get('user', array('id' => $id), 'json');

    echo $user->name;
}

Извините, если это слишком просто.

Спасибо

Редактировать: я создал контроллер Client и поместил туда метод для его вызова. Но когда я загружаю страницу, я получаю эту ошибку.

Call to undefined method CI_Loader::spark()

person theNewbie    schedule 02.08.2017    source источник


Ответы (2)


Вы можете использовать везде, где вам нужно получить значение из вашего API.

$user будет иметь значение, которое вы можете использовать для своих целей.

По сути, вы должны использовать API там, где раньше использовали модель, потому что теперь взаимодействие с базой данных осуществляется с помощью API, а не напрямую с ваших контроллеров.

person Dani Aguado    schedule 02.08.2017

Для вызова RESTful API вам потребуется CURL, есть библиотека под названием Guzzlehttp для более эффективного использования CURL.

Вы можете использовать composer для установки библиотеки или просто загрузить zip и потребовать его в своем контроллере.

Пример использования:

    try {
        $guzzleHttp = new GuzzleHttp\Client([
            'verify' => false
        ]);

        $http_response = $guzzleHttp->request('GET', 'http://localhost/rest/index.php/restgetcontroller/');
        $response = json_decode($http_response->getBody()->getContents());

        return $data;
    } catch (Exception $e) {
        log_message('error', $e->getMessage());
        return false;
    }
person TheManish    schedule 02.08.2017