我是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;
}
答案 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;
}