【发布时间】:2014-10-05 19:00:55
【问题描述】:
我在一组基于 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
我是否误读了文档,因此我的预期行为是错误的,或者我是否需要启用其他选项才能在发出请求时将/auth url 附加到/api/1.0 基本路径?
【问题讨论】: