Liz*_*Liz 5 php http symfony guzzle
我是Symfony开发的新手,请问这是一个愚蠢的问题。我正在尝试从外部API获取JSON数据。我试图通过Postman运行GET请求,并以JSON格式获取了正确的数据,所以我知道我的URL是正确的。
我编写了以下代码,以使用Guzzle从我的外部API HTTP GET一组JSON数据:
<?php
namespace AppBundle\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Request;
use Psr\Http\Message\ResponseInterface;
use GuzzleHttp\Client;
class ScheduleController {
/**
* @Route("/schedule")
*/
public function getJobs() {
// Create a client with a base URI
$client = new GuzzleHttp\Client(['base_uri' => 'http://my.api.url/']);
// Send a request to http://my.api.url/site/67/module/1449/item
$response = $client->request('GET', 'site/67/module/1449/item');
dump($response);
}
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试与Guzzle快速入门指南尽可能紧密地联系。我从此代码收到500错误:
Attempted to load class "Client" from namespace "AppBundle\Controller\GuzzleHttp".
Did you forget a "use" statement for e.g. "Symfony\Component\BrowserKit\Client", "Symfony\Component\HttpKernel\Client" or "Symfony\Bundle\FrameworkBundle\Client"?
我有一个使用声明,说明use GuzzleHttp\Client;我做错了什么?有没有更简单的方法可以做到这一点?
这一行:
$client = new GuzzleHttp\Client(['base_uri' => 'http://my.api.url/']);
应该:
$client = new Client(['base_uri' => 'http://my.api.url/']);
或者:
$client = new \GuzzleHttp\Client(['base_uri' => 'http://my.api.url/']);
自从您导入命名空间后,任何一个都可以工作。您可能想要第一个选项。当你放置 GuzzleHttp\Client PHP 认为它是一个相对命名空间,这就是为什么它说找不到“AppBundle\Controller\GuzzleHttp\Client”。
| 归档时间: |
|
| 查看次数: |
11111 次 |
| 最近记录: |