我正在项目中将 Guzzle 设置为 Laravel 6 的 HTTP 客户端。它工作得很好,并且对每个 API 命中都给出了响应。但突然它返回“Call to a member function getStatusCode() on null”错误。我尝试使用 Postman 和curl 来访问API,当Guzzle 不返回时,它们会返回正确的响应。RequestException 响应的 print_r 不返回响应,而是返回 null。我尝试调试REST API 以测试使用 Guzzle 命中请求时请求的去向,但请求甚至没有命中目标函数。这是我的 Guzzle 代码:class ApiCallback{ public static function request($method, $uri, $params = [], $useAccessToken = true){ $client = new \GuzzleHttp\Client(); $response = null; $jsonObj = null; try{ if($useAccessToken){ $response = $client->request( strtoupper($method), $uri, [ "headers" =>[ 'Accept' => '*/*', "Authorization" => "Bearer ".Session::get('access_token'), 'Content-Type' => 'application/json', 'User-Agent' => 'saranaku-'.Session::get('id'), 'Content-Length' => '0', 'Accept-Encoding' => 'gzip, deflate, br', 'Connection' => 'keep-alive' ] , "body" => \json_encode( $params ) ] ); }附加信息:REST API 正在本地主机中运行,端点为:/v1/loginHTTP 方法是 POSTREST API 使用 Java Spring Boot v1.5.6请求正文是{ "data":{ "username": "username_string", "password": "password_string" }}我已经尝试过清除缓存,但composer dump-autoload问题仍然存在
2 回答
慕标5832272
TA贡献1966条经验 获得超4个赞
我找到了问题和解决方案。
因此,我正在对异常进行一些日志记录 Log
,发现我的$uri
无效,因为在.env
文件中找不到我的 API BASE URL。因此,解决方案正在实施php artisan cache:clear
,并且大口的工作也有效。
Log
对于阅读此问题的任何人,如果堆栈跟踪对您没有帮助,请记住尝试一下。
拉莫斯之舞
TA贡献1820条经验 获得超10个赞
就我而言,这是一个配置不正确的错误记录远程通道。该错误发生在错误通道故障时,而不是在您的代码中。
正如您所提到的,必须修复错误日志记录或检查服务器上的日志,它们具有原始的错误堆栈。
- 2 回答
- 0 关注
- 191 浏览
添加回答
举报
0/150
提交
取消