传递给 GuzzleHttp\Client::send() 的参数 1 必须实现接口

Posted

技术标签:

【中文标题】传递给 GuzzleHttp\\Client::send() 的参数 1 必须实现接口【英文标题】:Argument 1 passed to GuzzleHttp\Client::send() must implement interface传递给 GuzzleHttp\Client::send() 的参数 1 必须实现接口 【发布时间】:2021-12-17 13:27:34 【问题描述】:

嗨,我是 laravel 新手,我正在尝试使用 laravel 8 使用 api 我的 POST 有问题,我不明白

public function storeEntreprise(Request $request)
        $request->validate([
            'name' => 'required',
            'email' => 'required',
            'phone_number'=>'required',
            'address' => 'required',
            'password' => 'required',
            'password_confirmation' => 'required'
        ]);

        $client = new Client();

        $post = $request->all();

        $url = "http://flexy-job.adsyst-solutions.com/api/entreprises-store";
        $create = $client->request('POST', $url, [
            'headers' => [
                'Content-Type' => 'text/html; charset=UTF8',
            ],
            'form-data' => [
               'name'           => $post['name'],
               'email'        => $post['email'],
               'phone_number'          => $post['phone_number'],
               'address'          => $post['address'],
               'logo'        => $post['logo'],
               'password'       => $post['password'],
               'password_confirmation'      => $post['password_confirmation']
           ]
        ]);
        //dd($create->getBody());
        echo $create->getStatusCode();
        //echo $create->getHeader('Content-Type');
        echo $create->getBody();
        $response = $client->send($create);
        return redirect()->back();

    

你能帮帮我吗

【问题讨论】:

【参考方案1】:

您调用(不小心?)$response = $client->send($create);,其中$create 是您发出的 API 请求的响应 ($create = $client->request('POST', $url, ...)。

所以php 报告你不能通过ResponseInterface 哪里需要RequestInterface

另外,你echo的响应体,同时返回重定向响应。因此浏览器不会向您显示 API 响应(因为实例返回重定向)。

【讨论】:

以上是关于传递给 GuzzleHttp\Client::send() 的参数 1 必须实现接口的主要内容,如果未能解决你的问题,请参考以下文章

无法正确地将值从父母传递给孩子和孩子传递给父母

如何将对象数组作为道具传递给组件,然后将数组的成员作为道具传递给嵌套组件?

为啥将 ClientID 传递给 javascript 函数会传递整个控件?

将变量传递给 jQuery 插件参数

如何将环境变量传递给传递给xmllint的命令?

将 JSON 数据从 php 传递给 html-data 属性,然后传递给 Javascript