Hallo,
ich arbeite gerade an einer REST API. Ich habe Zend_Controller_Plugin_PutHandler eingebunden.
Aus dem Browser funktioniert alles fein, auch mit dem Chrome-Plugin Postman klappt alles.
Der Haken sind die Unittests, wenn ich hier mit cUrl einen Request starte kommen keine Parameter bei putAction an.
Habe schon folgende Optionen einzeln und in kombination probiert:
$curlOpts[CURLOPT_PUT] = 1;
$curlOpts[CURLOPT_CUSTOMREQUEST] = 'PUT';
Ausserdem habe ich es mit pear:HTTP_Request2 versucht, alles komplett ohne Erfolg.
Hier mal der cUrl-Code:
PHP-Code:
$curlOpts = array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT'
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_POSTFIELDS => $paramsString,
);
$curl = curl_init();
curl_setopt_array($curl, $curlOpts);
$responseBody = curl_exec($curl);
curl_close($curl);
$responseBodyAsArray = json_decode($responseBody, true);
Bin für jeden Tipp dankbar.
Der Gruß
Update:
Per Kommandozeile:
curl -XPUT -d "var=value" domain.tld
geht es übrigens auch
Lesezeichen