如何使用codeigniter中的rest_client进行调用

时间:2017-08-02 11:38:48

标签: rest codeigniter curl

我是CodeIgniter和Rest API的新手。我正在尝试在CodeIgniter中实现REST API,并使用了Phil Sturgeon的rest-client和rest-server。我已经看了很少的教程,并成功实现了Rest-Server部分(使用Chrome的Rest客户端APP查看)。但是,为了实现Rest-Client,我遇到了一些麻烦。

我是否需要拥有cURL和CodeIgniter的cUrl库? 如果是,我该如何设置?

I watched this tutorial too by Phil Sturgeon但是在本教程中,他只使用Rest-Client函数来调用服务器。但没有定义在哪里放。这是代码

root.toString()

如果太简单,我很抱歉。

谢谢

编辑:我创建了一个客户端控制器,并设置了一个方法来调用它。但是当我加载页面时,我收到了这个错误。

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;
}

2 个答案:

答案 0 :(得分:0)

您可以在需要的任何地方使用从API中检索值。

$user将有一个可用于您目的的值。

基本上,您将使用过去使用模型的API,因为现在与数据库的交互是使用API​​进行的,而不是直接来自控制器。

答案 1 :(得分:0)

要调用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;
    }