Подтвердить что ты не робот

Как отправить запрос DELETE в фил осетровых - codeigniter-restserver

Как говорится в названии, я использую Codeigniter с платформой phil sturgeon - codeigniter-restserver.

Я следил за учебником по Nettus, и все работает отлично, за исключением отправки запроса DELETE.

код:

<?php
require(APPPATH.'libraries/REST_Controller.php');

class Client extends REST_Controller{

function user_get()
{
    $data = array('returned:'=> $this->get('id'));
    $this->response($data);
}

function user_post()
{
    $data = array('returned:'=> $this->post('id'));
    $this->response($data);
}

function user_put()
{
    $data = array('returned:'=> $this->put('id'));
    $this->response($data);
}

function user_delete()
{
    $data = array('returned from delete:'=> $this->delete('id'));
    $this->response($data);
}
}

Я использую FF Addon, называемый HTTP Resource test, для отправки запроса, но когда я отправляю запрос DELETE с этим URL-адресом: http://localhost/api/client/user/id/1, я получаю { "return from delete:": false}

В качестве дополнительной заметки: я нашел этот пост и используя заголовок "X-HTTP-Method-Override" и отправил его как почтовый запрос я смог получить идентификатор, но я предпочитаю, чтобы клиент не добавлял этот заголовок.

4b9b3361

Ответ 1

В соответствии с параметром HTTP DELETE невозможно отправить параметры. У него могут быть вещи в URL-адресе, поэтому вы можете изменить это на:

public function user_delete($id)
{
    $this->response(array(
        'returned from delete:' => $id,
    ));
}

Ответ 2

У меня была такая же проблема для этой работы для меня

1 → в REST_Controller.php замените функцию _parse_delete() по умолчанию:

protected function _parse_delete()
{
    $this->_delete_args = $_DELETE;
    $this->request->format and $this->request->body = file_get_contents('php://input');
    // Set up out DELETE variables (which shouldn't really exist, but sssh!)
    parse_str(file_get_contents('php://input'), $this->_delete_args);
}

Это все! больше не нужно "user_delete ($id)" "