如何使用Guzzle发送PUT请求?

时间:2019-08-05 06:12:53

标签: php laravel api guzzle guzzle6

有人知道使用Guzzle进行PUT的正确方法吗?我的代码不起作用 但是我的发布方法正在工作

 $enrolment = $client->request('PUT', $url,[
       'form_params' => [
           'contactID' =>12345,
           'type' =>'w'
        ],
       'headers' => [
           'apitoken' => $api_token,
           'wstoken' => $ws_token
        ]
 ]);
  

产生500 Internal Server Error响应:↵{“ DATA”:“”,“ ERROR”:true,“ MESSAGES”:“键[TYPE]不存在”,“ CODE”:“ 0” ,“ DETAILS”:“”}

1 个答案:

答案 0 :(得分:0)

PUT请求不接受form_params类型作为请求选项,因此它可能会忽略该设置。

来自Docs

  

form_params

     

用于发送应用程序/ x-www-form-urlencoded    POST 请求。

也许您可以尝试将json用于PUT请求。

json part of Docs中,它也使用PUT

$enrolment = $client->request('PUT', $url,[
       'json' => [
           'contactID' =>12345,
           'type' =>'w'
        ],
       'headers' => [
           'apitoken' => $api_token,
           'wstoken' => $ws_token
        ]
 ]);