Вставка данных путем отправки запроса PUT в CodeIgniter (сервер отдыха Фила Стерджена)
Существует разница между запросом PUT и POST, который я отправляю через КЛИЕНТ REST в своем API. Он реализован в CodeIgniter с сервером REST Фила Стерджена.
function station_put(){
$data = array(
'name' => $this->input->post('name'),
'number' => $this->input->post('number'),
'longitude' => $this->input->post('longitude'),
'lat' => $this->input->post('latitude'),
'typecode' => $this->input->post('typecode'),
'description' => $this->input->post('description'),
'height' => $this->input->post('height'),
'mult' => $this->input->post('mult'),
'exp' => $this->input->post('exp'),
'elevation' => $this->input->post('elevation')
);
$id_returned = $this->station_model->add_station($data);
$this->response(array('id'=>$id_returned,'message'=>"Successfully created."),201);
}
Этот запрос успешно вставляет данные на сервер, НО - он делает остальные значения нулевыми, за исключением идентификатора.
Но если вы измените имя функции на station_post, она вставит данные правильно.
Кто-нибудь, пожалуйста, объяснит, почему запрос PUT не работает? Я использую последняя версия google chrome.
Кстати, этот API будет интегрирован в приложение, обрабатываемое магистралью. Действительно ли мне нужно использовать PUT? Или есть другой обходной путь с функцией сохранения модели в магистрали при использовании post?
1 answers
Наконец-то ответил. Вместо $this->input->post
или $this->input->put
это должно быть $this->put
или $this->post
, потому что данные поступают не из формы.