【发布时间】:2019-03-15 17:02:04
【问题描述】:
我正在开发一个带有 RESTful API 的项目。我使用 GuzzleHttp 库在 API 中获取/放入等数据。
有什么方法可以在运行时更改 GuzzleHttp\Client 的基本 url。我的想法是因为我有一个 api 的多个端点,但基本 url 不一样,所以我想创建一个带有一些选项的客户端,但是当我想执行一些请求时更改基本 url。
【问题讨论】:
我正在开发一个带有 RESTful API 的项目。我使用 GuzzleHttp 库在 API 中获取/放入等数据。
有什么方法可以在运行时更改 GuzzleHttp\Client 的基本 url。我的想法是因为我有一个 api 的多个端点,但基本 url 不一样,所以我想创建一个带有一些选项的客户端,但是当我想执行一些请求时更改基本 url。
【问题讨论】:
正如 GuzzleHttp 的文档中所写,如果您将绝对路径传递给 post/get/put 等,它将覆盖当前的基本 url。因此,如果您预先添加绝对路径,它将完成工作。 Check here, GuzzleHttp documentation
【讨论】:
Client 上有一个setConfig 或者甚至是setBaseUri 方法。完整的 URI 方法似乎不是一个干净的方法。
Guzzle 5 之前,可以使用setDefaultOption 方法:
$client->setDefaultOption('base_uri', 'https://example.url');
【讨论】:
up to version 5,OP 意味着在版本 5 之后,这种方法已被弃用(消失)