Como enviar uma solicitação de publicação para o RESTserver api no php-Codeigniter?

Eu tentei fazer um pedido POST no meu controlador CodeIgniter RestClient para inserir dados no meu RestServer, mas parece que minha solicitação POST está errada.

Aqui está o meu pedido POST RestClient no controlador:

$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); 

Este é o controlador do meu RestServer: paciente

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

Isso é user_model

 public function insertVisit($insertdata) { $this->db->insert('visit',$insertdata); } 

Finalmente, encontrei uma solução, usei PHP CURL para enviar uma solicitação de publicação para o meu RESTserver.

Aqui está o meu pedido RESTClient POST

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

Você pode depurar seu código. tente imprimir variável global $ _POST. e acho que isso pode resolver seu problema apenas use $this->input->post vez de em vez de $this->post