最近、restserver を使用しているときに、$this->put によって取得されたパラメータがすべて null であることがわかりました。確認したところ、これは一般的な問題であることがわかりました。リンクを参照してください: https://github.com/chriskacerguis/codeigniter-restserver/issues/362
まず公式の説明を見てみましょう: http://code.tutsplus.com/tutorials/working-with-restful-services-in-codeigniter-2--net-8814 を参照してください
$this->put() Reads in PUT arguments set in the HTTP headers or via cURL.
1、投稿と一致し、パラメーターは引き続き本文で渡されます。基本クラスに関数を記述します:
public function getPut($key){ return $this->input->input_stream($key); }
$data = $this->getPut(array('tel', 'name', 'addr'));
補足: 本文にパラメータを置く場合、$this->put() を直接使用して、対応するフィールドを取得できます。ドキュメントではヘッダーにあると記載されていますが、実際には本文にあります。ただし、$this->put() は複数のフィールドをサポートしていないため、上記の関数は依然として意味があります。
$this->delete() にもこの問題があります。ヘッダー内のパラメーターは読み取れませんが、本文内のパラメーターは読み取れます。 ! !
2. パラメーターはヘッダーに渡され、関数は基本クラスに記述されます。
/** * 获得key对应的header * @param $key * @return mixed */ public function getHeader($key){ return $this->input->get_request_header($key, TRUE); }