从Artisan Command调用控制器后,发送后Guzzlehttp请求方法已更改

问题描述

我遇到了一个奇怪的问题->我已经设置了一个控制器,以使用GuzzleHttp向另一个应用程序发送POST请求-当从我们的VueJs客户端启动此请求时,它可以正常工作。

现在,我正在开发Artisan Command(根据客户要求),以简化该端点的调用,例如50倍以上(因为它生成视频)->调用此端点,我在调用内部时使用以下代码段控制器:

$request = Request::create(
  route('videos.new',[],false),'POST',[
    // Some daata
  ]
);
$response = app()->handle($request);
$result = json_decode($response->getContent());

但是问题是,现在该控制器中完全相同的代码向另一个应用程序发送了GET请求而不是POST,我无法弄清楚为什么该方法是硬编码的。 我知道这是一个GET请求,因为我现在正在记录进入另一个应用程序的所有请求,URL等看起来都正确,除了现在是一个GET请求

请求发送方:

$cdnReq = new \GuzzleHttp\Psr7\Request(
  'POST',"/generate/$type?" . http_build_query($query),[
    'Content-Type' => 'application/json'
  ],json_encode($input)
);
$this->beforeRequest($cdnReq);
// Step 03: Send request to cdn
Log::debug("Request(" . $cdnReq->getMethod() . ") will be send to: " . $client->getConfig('base_uri') . $cdnReq->getUri(),$input);
$cdnRes = $client->send($cdnReq);

有人知道为什么会这样吗?

INFO: Laravel版本::Laravel / Framework 6.18.32

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)