Guzzle - 如何在Laravel中发送PUT请求

时间:2014-08-28 17:06:05

标签: php laravel-4 guzzle

我有两个应用程序,一个是API,另一个是连接到该API,并通过api添加,删除,编辑项目。现在我选择和插入时很好,但我仍然坚持更新。

这就是我试图这样做的方式:

public function update($id)
{

    $client = new GuzzleHttp\Client();
    $res = $client->put('http://api.dev/api/v1/locations', [
        'auth' =>  ['David', '888177'],
        'body' => ['id' => Input::get('id'),
                    'name' => Input::get('name'),
                    'address' => Input::get('address'),
                    'postal_code' => Input::get('postal_code'),
                    'city' => Input::get('city'),
                    'indication' => Input::get('indication'),
                    'comment' => Input::get('comment')]
    ]);

    return Redirect::route('locations.show', Input::get('id'));
}

但我得到这个错误:

GuzzleHttp \ Exception \ ClientException

Client error response [url] http://api.dev/api/v1/locations [status code] 405 [reason phrase] explicit_header_response_code

如果我尝试使用curl它可以正常工作,所以我知道API端正常工作:

 curl -i -X PUT --user David:888177 -d 'name=testname' http://api.dev/api/v1/locations/137

1 个答案:

答案 0 :(得分:1)

我的网址实际上是错误的,我需要将id添加到其末尾,就像卷曲一样