How to send a post request to the RESTserver api in php-Codeigniter?
22,160
Finally I came up with a solution, I used PHP cURL to send a post request to my RESTserver.
Here is my RESTclient POST request
$data = array(
'patient_id' => '1',
'department_name' => 'a',
'patient_type' => 'b'
);
$data_string = json_encode($data);
$curl = curl_init('http://localhost/patient-portal/api/patient/visit');
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data_string))
);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); // Make it so the data coming back is put into a string
curl_setopt($curl, CURLOPT_POSTFIELDS, $data_string); // Insert the data
// Send the request
$result = curl_exec($curl);
// Free up the resources $curl is using
curl_close($curl);
echo $result;
Related videos on Youtube
Comments
-
Madhu almost 4 years
I've been trying to make a POST request in my CodeIgniter RestClient controller to insert data in my RestServer, but seems like my POST request is wrong.
Here is my RestClient POST request in controller:
$method = 'post'; $params = array('patient_id' => '1', 'department_name' => 'a', 'patient_type' => 'b'); $uri = 'patient/visit'; $this->rest->format('application/json'); $result = $this->rest->{$method}($uri, $params);
This is my RestServer's controller: patient
function visit_post() { $insertdata=array('patient_id' => $this->post('patient_id'), 'department_name' => $this->post('department_name'), 'patient_type' => $this->post('patient_type') ); $result = $this->user_model->insertVisit($insertdata); if($result === FALSE) { $this->response(array('status' => 'failed')); } else { $this->response(array('status' => 'success')); } }
This is user_model
public function insertVisit($insertdata) { $this->db->insert('visit',$insertdata); }