GuzzleHttp\Client 忽略base_url中的基本路径
我正在一组 PHPUnit 支持的 REST API 测试中使用 Guzzle。
我按如下方式创建我的客户端:
use GuzzleHttp\Client;
$client = new Client(['base_url' => ['http://api.localhost/api/{version}', ['version' => '1.0']]]);
这工作正常,我可以使用以下代码发出请求:
$request = $client->createRequest('GET', '/auth');
$request->setBody(Stream::factory(json_encode(['test'=>'data'])));
$response = $client->send($request);
$decodedResponse = $response->json();
但是,Guzzle忽略了基本URL的部分,并向此处发出请求:/api/{version}
http://api.localhost/auth
但是,我本来希望它在这里提出请求:
http://api.localhost/api/1.0/auth
我是否误读了文档,因此我的预期行为是错误的,或者我是否需要启用其他一些选项才能使其在发出请求时将URL附加到基本路径?/auth
/api/1.0