To call GET, POST, DELETE, PUT. All kind of request, I created one general function
define("SITEURL", "http://localhost:82/slimdemo/RESTAPI"); function CallAPI($method, $api, $data, $headers) { $url = SITEURL . "/" . $api; $curl = curl_init($url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); switch ($method) { case "GET": curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data)); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "GET"); break; case "POST": curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data)); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST"); break; case "PUT": curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data)); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PUT"); break; case "DELETE": curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "DELETE"); curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data)); break; } $response = curl_exec($curl); $data = json_decode($response); /* Check for 404 (file not found). */ $httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE); // Check the HTTP Status code switch ($httpCode) { case 200: $error_status = "200: Success"; return ($data); break; case 404: $error_status = "404: API Not found"; break; case 500: $error_status = "500: servers replied with an error."; break; case 502: $error_status = "502: servers may be down or being upgraded. Hopefully they'll be OK soon!"; break; case 503: $error_status = "503: service unavailable. Hopefully they'll be OK soon!"; break; default: $error_status = "Undocumented error: " . $httpCode . " : " . curl_error($curl); break; } curl_close($curl); echo $error_status; die; }
CALL DeleteAPI
$data = array('id'=>$_GET['did']); $header = array('USERTOKEN:' . GenerateToken()); $result = CallAPI('DELETE', "DeleteCategory", $data, $header);
CALL PostAPI
$data = array('title'=>$_POST['txtcategory'],'description'=>$_POST['txtdesc']); $header = array('USERTOKEN:' . GenerateToken()); $result = CallAPI('POST', "InsertCategory", $data, $header);
CALL GetAPI
$data = array('id'=>$_GET['eid']); $header = array('USERTOKEN:' . GenerateToken()); $result = CallAPI('GET', "GetCategoryById", $data, $header);
CALL PutAPI
$data = array('id'=>$_REQUEST['eid'],m'title'=>$_REQUEST['txtcategory'],'description'=>$_REQUEST['txtdesc']); $header = array('USERTOKEN:' . GenerateToken()); $result = CallAPI('POST', "UpdateCategory", $data, $header);