首页 > 解决方案 > 如何在 symfony 中为我的 http 请求配置 base_uri?

问题描述

我正在使用 symfony 的 HttpClientInterface 向 API 发出请求。

我知道我的基本 uri 永远不会改变,我想在 /config/packages/framework.yml 中配置它

然而,每当我尝试设置 base_uri 时,symfony 都会告诉我它不是 http_client 的可用选项。

所以,我推断它很可能必须是“scoped_clients”的一个选项,但每当我尝试下面的代码时,Symfony 都会告诉我我缺少 base_uri 和主机或方案。

    http_client:
        max_host_connections: 10
        scoped_clients:
            base_uri: '%app.api.coolapp.base_uri%'
        default_options:
            headers: { 'X-Powered-By': 'my App' }
            max_redirects: 7

所以,我认为我错过了范围客户端的概念,因为显然它需要更多信息或其他东西来让我的请求 url 正确。我错过了什么?

标签: phpsymfony

解决方案


那是正确的行为。Symfony 需要一个命名的客户端:

http_client
    scoped_clients:
        your_api.client: # <-- your configuration's missing this line
           base_uri: '%app.api.coolapp.base_uri%'

    # ...

推荐阅读