我最近在Laravel中创建了一个API。这是该API的结构:
method : post
url : http://172.22.34.45/mydemo/public/api/v1/file/upload
Form Data
attachment :input file
appVersion :1.0
apiVersion :2.0
type :1
authToken :khsdhdy997sdjjsd886
在我的问题是如何在我的Codeigniter项目中实现此API。 我知道使用ajax,但在我的场景中它不完美。请建议另一种选择 例如:从codeigniter控制器调用api
答案 0 :(得分:1)
通过像这样使用curl POST
:
$url = "http://172.22.34.45/mydemo/public/api/v1/file/upload";
$data = array("all the parameters as array elements");
try{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 100);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$reponse= curl_exec($ch);
curl_close($ch);
} catch (Exception $ex) {
}
$data
是包含要发送的值的数组。 $reponse
会有你返回的任何内容。
答案 1 :(得分:0)
这是我在几个项目中测试的CI中实现RESTFULL服务的成熟解决方案。请在实施前仔细阅读文档。这将节省您的时间。 https://github.com/chriskacerguis/codeigniter-restserver