1

我正在尝试进行异步 POST 调用,但 guzzle 调用返回以下错误:

" Request.php 第 220 行中的 ErrorException:传递给 Symfony\Component\HttpFoundation\Request::__construct() 的参数 1 必须是数组类型,给定字符串,在 C:\Program Files ...\app\Http\ 中调用Controllers\ConfirmAccountController.php 在第 87 行并定义了

在 ConfirmAccountController 中:

$client = new Client(['base_uri' => 'correct_api_address']);

$request = new Request('POST', 'testpromoboiler/updateUser',  [
        'query' => ['token' => $user->sdg_token ,
                    'address' => $user->address ,
                  ]
    ]);

$promise = $client->sendAsync($request)->then(function ($response) {
    echo 'I completed! ' . $response->getBody();
});

$promise->wait();

为什么我会收到此错误?

我已经完成了另外两个同步调用,一切都很顺利。

谢谢

4

1 回答 1

2

该代码实例化了 Laravel 框架Request类。

改用 guzzles 请求方法:

$request = $client->request('POST', 'testpromoboiler/updateUser',  [
        'query' => ['token' => $user->sdg_token ,
                    'address' => $user->address ,
                  ]
    ]);
于 2016-09-12T15:28:25.023 回答