Codeigniter Rest API:Put请求未通过id

时间:2016-06-26 20:25:30

标签: php codeigniter api rest put

我使用REST库为Phil Sturgeon开发了一个REST API, GET和POST请求正常, 现在,当我尝试使用PUT请求访问传递的params时,我得到null。

class ApiItems extends REST_Controller
{
    function __construct()  {
    //
    }

    public function items_get(){  //   //}
    public function items_post(){  //   //}

    public function items_put()
    {       
        if(!$this->put('id'))         //My issue : I can't get the id here
        {
            $this->response(array('error' => 'Item id is required'), 400);
        }


        $data = array(
            'id'  => $this->put('id'),
            'code'=> $this->put('code'),
            'name'  => $this->put('name'),
            'quantity'  => $this->put('quantity')
        );

        $this->item_model->update_item($this->put('id'), $data);
        $message = array('success' => $id.' Updated!');
        $this->response($message, 200);
    }
}   

我用POSTMAN测试了它,我得到了这个: POSTMAN PUT Call screenshot

我不明白为什么$ this-> get(id)或$ this-> post(id)工作正常,而不是$ this-> put(id)的情况?

1 个答案:

答案 0 :(得分:2)

它正在工作,我在用POSTMAN填充参数时犯了一个愚蠢的错误,我检查了form-data而不是x-www-form-url-encoded