codeigniter を使用して独自の REST Web サービスを構築しています。アプリケーションには「calls 」というリソースがあり、 POSTメソッドを介してアクセスできます。
" calls " 関数は、このcontent-type:application/jsonを使用してCurl呼び出しを介して json オブジェクトとして 4 つのパラメーター [id、manager、department、level] を受け取ります。
次に、codeigniter form_validation()ライブラリを使用してリクエストを検証し、 form_validation()にエラーがない場合は応答の配列を返します
問題は、受け取った値を期待どおりに出力できるにもかかわらず、form_validation() が常に FALSE を返すことでした。
以下は呼び出し関数のコードです
function calls_post() {
$this->load->model('api/central');
$this->load->library('form_validation');
//validation rules
$this->form_validation->set_error_delimiters('', '');
$this->form_validation->set_rules('id', 'id', 'required|numeric');
$this->form_validation->set_rules('manager', 'manager', 'required|numeric');
$this->form_validation->set_rules('department', 'department', 'required');
$this->form_validation->set_rules('level', 'level', 'required|numeric');
if ($this->form_validation->run() === FALSE) {
$employeeId = $this->form_validation->error('id') ? $this->form_validation->error('id') : $this->post('id');
$manager = $this->form_validation->error('manager') ? $this->form_validation->error('manager') : $this->post('manager');
$department = $this->form_validation->error('department') ? $this->form_validation->error('department') : $this->post('department');
$level = $this->form_validation->error('level') ? $this->form_validation->error('level') : $this->post('level');
$response = array(
'status' => FALSE,
'error' => 'We don\'t have data to display, Minimum information required to process the request is missing',
'authenticated' => true,
'id' => $employeeId,
'manager' => $manager,
'department' => $department,
'level' => $level
);
$this->response($response, 200);
} else {
$response = $this->central->calls_get($this->post('id'), $this->post('manager'), $this->post('department'), $this->post('level'));
$this->response($response);
}
}
何かアドバイス?:)