私はRESTfulサービスでの最初の実際の試みにcURLを入れようとしています。
(私は@ Phil-Sturgeonがまとめたcodeigniter-restserverライブラリを使用しています。)
このサービスは、GETリクエストでうまく機能します。
一方、POSTは私にカーブボールを投げています。空のPOST配列を使用した試行は成功します...他のすべては失敗したようです。
コード:
/*** sandbox ***/
...
$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_URL, 'http://localhost/project/api/companies');
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_POST, 1);
// This works.
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, array());
// This throws the error
//curl_setopt($curl_handle, CURLOPT_POSTFIELDS, array('chicken'=>'licken'));
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);
var_export($buffer);
...
/*** RESTful controller ***/
...
function companies_post(){
$this->response('It Works!', 200);
} // end method: companies_post()
...
エラー:配列が空以外の
場合、次のようになります。CURLOPT_POSTFIELDS
エラーが発生
しました要求されたアクションは許可されていません。
目標:
私の当面の目標は、ラウンドトリップが機能していることを証明できるように、応答でPOSTペイロードを返すことです。
ただし、この時点では、エラーをスローせずに、実質的なものをAPIにPOSTできるようにすることで解決します:)
誰かがそのようなことを聞いたことがありますか?
ここで何が欠けていますか?