我无法在Guzzle 6中使用URI模板。
我的代码(更新(:
self::$client = new Client(["base_uri" => "http://example.com/api/", "cookies" => true]);
$result = self::$client->get(["project/{projectId}", ["projectId" => $projectId]]);
我已经检查了这个旧文档和这个问题,但无法使其工作。
引发的异常是:URI 必须是字符串或 UriInterface。
我找不到任何与此相关的 Guzzle 6 文档。
Guzzle的get
方法定义是get(string|UriInterface $uri, array $options = [])
的,你正在传递数组作为$uri
,这在这里是不允许的。 你必须自己构建 uri,因为 guzzle 不会为你做到这一点。
正确的代码块应如下所示(如果projectId
是整数(:
$result = self::$client->get(sprintf('project/%d', $projectId));